Пользовательская реакция


Добавил возможность создания реакции на клик пользователя (только для программистов FoxPro).

Для чего нужно?

Представьте - у Вас есть некая таблица (к примерe - dbf, сама таблица может быть где угодно, в том числе - как часть базы данных той же MS SQL).

В таблице собраны ссылки, список которых должен АВТОМАТИЧЕСКИ формироваться на страницах по какому-то критерию (отбор по фильтру - тут показывать такие ссылки, тут - другие), но вид предложенных в объекте NEWS не устраивает (КСТАТИ, для использования NEWS особых знаний не нужно).

Конечно, можно сам список создать в визуальном редакторе, но сопровождение его в дальнейшем превращается в АД:

Вдруг нужно добавить новую ссылку? Список формируется в разных местах - придется везде ВСЕ ВРУЧНУЮ менять на ВСЕХ СТРАНИЦАХ - добавлять, изменять? Т.е. ВЕЗДЕ?

Поэтому можно поступить проще.

1. Создается таблица.

2. Создается форма (формы) для ее редактирования.

3. На странице, где предполагается редактирование данных (можно разместить везде, где только возможно) создается ссылка на запуск формы.

4. Во время визуального редактирования пользователь (по необходимости) кликает по ссылке - и далее редактирует данные уже в самой таблице.

5. При выходе из формы - страница перегенерится уже с новыми, измененными данными. Аналогично, автоматом переформируются и все страницы, которые используют код для вывода.

Несколько нюансов:

Форма ДОЛЖНА находиться в каталоге запуска программы.

Код должен располагаться в объекте HTML

ОБЯЗАТЕЛЬНО необходимо в полученный код  вставить конструкцию вида  [hidegenr] 

`[hidegenr]<a href="VFF:///testtest with '1'">Редактировать таблицу Загрузок</a> `


Для чего? Дело в том, что пользовательский код для открытия формы НЕ ДОЛЖЕН попадать в страницу при окончательной генерации! 

Т.е. возможность редактирования должна быть доступна только во время редактирования в редакторе, что код
`[hidegenr] Этот код не будет показан в окончательной странице `   и делает.

Примеры:

Пример для запуска формы - используется VFF- testtest.scx (ей сразу же можно и код передать) по клику на ссылке

`[hidegenr]<a href="VFF:///testtest with '1'">Редактировать таблицу Загрузок</a> `

И с картинками - что будет при нажатии ссылки ...

 892x911 toreaction.jpg

и что будет в окончательном варианте

 767x702 toreaction_off.jpg

Можно запускать не только формы, но и файлы prg -  используется VFE - (так же - и с параметрами)

`[hidegenr]<a href="VFE:///prob_test with 'Привет всем'">Запуск программы prob_test.prg c параметром</a>`

 

Для вывода данных из таблицы, естественно НАДО воспользоваться кодом foxpro - для простых таблиц достаточно scan... endscan.

Ниже - пример моего вывода (c использованием глобальной переменной nacal_dire (каталог-программы, читерство же) и дополнительной таблицы a_list_of_prg_gr):

`

*[foxpro]
LOCAL seles
seles=SELECT()

LOCAL dty,dty2
dty=nacal_dire+"\a_list_of_prg.dbf"
SELECT * FROM (dty) ORDER BY porad_ DESC,datetime_ DESC  INTO CURSOR spis_prg

dty2=nacal_dire+"\a_list_of_prg_gr.dbf"
SELECT * FROM (dty2)  ORDER BY porad_ DESC  INTO CURSOR spis_prg_gr

LOCAL stka
stka=""

stka=stka+"<table border=0 width=100%>"


SELECT spis_prg_gr
SCAN

	stka=stka+"<tr><td align=center valign=top>"
	stka=stka+"<table width=100% border=1><tr><td align=center valign=top><b><font size=+1 color=blue>"+ALLTRIM(type_)+"</font></b>"+;
		IIF(NOT EMPTY(opis_),"<br><font size=-1>"+ALLTRIM(opis_)+"</font>","")+;
		"</td></tr></table>"
	stka=stka+"</td></tr>"
	SELECT spis_prg
	SCAN FOR parentg=spis_prg_gr.id_gr 
*and id_<>6

		stka=stka+"<table width=100% border=0><tr>"

		stka=stka+"<td align=center valign=top width=30%><b>"+ALLTRIM(name_)+"</b>"+;
			IIF(NOT EMPTY(opis_),"<br><font size=-1>"+ALLTRIM(opis_)+"</font>","")+;
			"</td>"

		stka=stka+"<td align=center valign=top width=40%><b><a href='"+ALLTRIM(www_link)+"'>"+;
			IIF(EMPTY(ALLTRIM(text_link)) AND EMPTY(ALLTRIM(file_image)),ALLTRIM(www_link),ALLTRIM(file_image)+ALLTRIM(text_link))+;
			+"</a></b></td>"

		stka=stka+"<td align=left valign=top width=30%>"+;
			IIF(EMPTY(ALLTRIM(notes_link)) ," ",ALLTRIM(notes_link))+;
			+"</td>"


		stka=stka+"</tr></table>"
	stka=stka+"<tr><td align=center valign=top>"
	stka=stka+"<hr>"
	stka=stka+"</td></tr>"

	ENDSCAN


	SELECT spis_prg_gr

	stka=stka+"<tr><td align=center valign=top>"
	stka=stka+"<br><br><br>"
	stka=stka+"</td></tr>"


ENDSCAN

stka=stka+"</table>"









SELECT spis_prg_gr
USE
SELECT a_list_of_prg
USE
SELECT spis_prg
USE
SELECT a_list_of_prg_gr
USE


SELECT (seles)


RETURN stka
`

 Открывающиеся возможности не ограничиваются только запуском форм и программ для редактирования таблиц dbf.

В принципе, таким образом возможно редактирование любых файлов - текстовых, excel и прочих - или изменение таблиц той же MSSql (в форме нужно будет задать соотвествующий код).

Интересно, что теперь программа может быть использована  не только в качестве генератора сайта Smile

Для продвинутых 
Что можно использовать? 
Файлы стиля 
Пользовательская реакция 


Pt-141
pt-141
peptidshopmsk.ru

Что-то интересное

Акулы

ИС-2 против Тигра

Nightwish - Nemo

Похмелье с научной точки зрения

WARCRAFT 3 REFORGED - что может сделать один человек?

Все интересное



Что-то политическое

Как Омелян Зеленского оскорблял

Прозревающие СМИ?

Что было на самом деле?

Аты-баты, шли дебаты

Политика в купальнике

Все о политике



 Контакты   Поиск   Карта сайта 

create by Maple4 Site Creator 9/2021
Яндекс.Метрика