Для продвинутых


Есть бланк (шаблон, основа страницы), и есть контент.
Как добиться, чтобы контент оказался в странице?
Очень просто! Нужно в бланк вписать тэг с указанием, откуда взять наполнение.
Форма тэга:
Откуда_Взять
Если не указана таблица, берется значение поля из текущей таблицы либо значение глобальной переменной
‘oglav‘ - взять значение поля oglav из таблицы a_formir (генерация страницы идет по этой таблице)
‘text2‘ - взять значение поля text2 (это как раз контент - наполнение сайта) из таблицы a_formir (генерация страницы идет по этой таблице)

Ниже приведен бланк, по которому генерится страница index.htm




oglav- поле в a_formir - Оглавление страницы


..........................................................................

Далее, например, при существовании глобальной переменной j_my_names
Меня зовут ‘j_my_names‘
Меня зовут Игорь Крошкин

Для обращения к полю другой таблицы нужно явно указывать таблицу:
‘a_procedure.name‘ в данном случае a_procedure.name - поле name таблицы a_procedure
Значение поля a_procedure.name = gen_keywords

Запуск функции FoxPro
‘iif(day(date())>15,'Число >15','Число < 15') ‘
Результат работы функции Число<15 !!!!!

ВАЖНОЕ ЗАМЕЧАНИЕ


Результат работы функции должен быть текстовым/символьным значением!
Кроме text2 можно указывать также значения контента text3...text9!
Например, вывожу значение из text8 и text9 данной страницы контента:
‘text8‘  и ‘text9‘



Ну, и в качестве примера сложного кода HTML...

Возникла необходимость каким-то образом вывести список всех возможных стилей.
Вместе с рисунками, ссылками на zip-архивы и страницы предпросмотров (они уже были размещены на ресурсе, причем алгоритм размещения четко завязан с названием стиля).
Вручную это делать - себя не уважать. А вдруг захочется добавить новый стиль? Или убрать старый?
В общем, идея созрела такая...
Создать две dbf-таблицы (размещаю их в каталоге запуска, для удобства):
1. Заголовки серий (общее название, описание серии)
2. Какие стили в серию входят (название, описание каждого отдельного стиля)
... и с помощью них формировать нужный список стилей в HTML.

Задачу я себе несколько усложнил, т.к. захотелось вывода в несколько столбцов.

Ниже - код формирования на Visual FoxPro
Результат формирования можно посмотреть на странице выбора/предпросмотра всех стилей проекта:
http://www.maple4.ru/i_all_styles.htm

`*[foxpro]

local seles

seles=select()



LOCAL dty,dty2

dty=nacal_dire+"\a_list_of_styles.dbf"

SELECT * FROM (dty) INTO CURSOR spis_style ORDER BY porad_ DESC,datetime_ DESC



dty2=nacal_dire+"\a_list_of_styles_gr.dbf"

SELECT porad_,type_,opis_ FROM (dty2)  ORDER BY porad_ DESC  INTO CURSOR spis_style_gr



LOCAL nazd

nazd=0

LOCAL stka

stka=""



LOCAL stolb

LOCAL vstavka



LOCAL max_stolb,iiz

max_stolb=3 &&  +1=2 столбца   3+1=4 столбца



SELECT spis_style_gr

SCAN

	stka=stka+"<table border=0 width=100%><tr><td align=center valign=top width=100%><hr><font color=blue size=+1><b>"+;

	ALLTRIM(type_)+"</b></font>"+iif(not empty(opis_),"<br><p align=left>"+opis_+"</p>","")+"</td></tr><tr><td width=100%>"



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

	SELECT spis_style

	stolb=0

	SCAN FOR alltr(type_)=alltr(spis_style_gr.type_)



		vstavka='<hr><b>'+ALLTR(name_)+'</b>'+;

		'<br><a href="http://www.maple4.ru/a_styles/html/'+ALLTR(type_)+'/'+ALLTR(name_)+'/index.html">'+;

			'<img src="http://www.maple4.ru/a_styles/html/'+ALLTR(type_)+'/'+ALLTR(name_)+;

'/maple4_screen_main.jpg" width=80px border=0 title="Click for Preview / Кликните для предпросмотра'+;

+iif(not empty(opis_),' '+opis_,'')+'"></a>'+;

			'<br>'+;

'<a href="http://www.maple4.ru/a_styles/html/'+ALLTR(type_)+'/'+ALLTR(name_)+'/index.html">'+;

'<img src="preview_styles.jpg" border=0 alt="Preview / Предпросмотр" width="16px">'+'</a> '+;

			+'<a href="http://www.maple4.ru/a_styles/styles_'+ALLTR(type_)+'_'+ALLTR(name_)+;

'_update_maple4_ru.zip">'+'<img src="downloads_styles.jpg" width="16px" border=0 alt="Load Style / Загрузить стиль">'+'</a>'



		IF stolb=0

			stka=stka+"<tr>"

		ENDIF



		stka=stka+"<td align=center valign=top width="+alltr(str(100/(max_stolb+1)))+"%>"+vstavka+"</td>"



		IF stolb>=max_stolb && новая строка, т.к. превышен лимит

			stolb=0

			stka=stka+"</tr>"

		ELSE

			stolb=stolb+1

		ENDIF

	ENDSCAN



	IF stolb<>0 && надо закончить до конца...

		FOR iiz=stolb TO max_stolb+1

			stka=stka+"<td align=center valign=top>&nbsp;</td>"

		ENDFOR

		stka=stka+"</tr>"

	ENDIF

	stka=stka+"</table>"

	SELECT spis_style_gr

	stka=stka+"</td></tr></table>"

ENDSCAN



SELECT spis_style_gr

USE

SELECT a_list_of_styles

USE

SELECT spis_style

USE

select a_list_of_styles_gr

use 



SELECT (seles)

RETURN stka

`

 



Из особенностей кода.
Если присмотреться, в коде есть рисунки (preview_styles.jpg, downloads_styles.jpg), расположение которых ЯВНО не указано в сети Интернет.

Откуда же они появились на готовой странице?
Все рисунки без указания каталога, ДОЛЖНЫ находиться в подкаталоге maple4_ru_media проекта (изначально).
НО Не нужно думать, что все находящиеся в этом каталоге файлы будут в конце концов переноситься на сервер: это в корне НЕВЕРНОЕ утверждение!
Перенесено будет только то, что ИСПОЛЬЗУЕТСЯ.

И, значит, в случае примера, из каталога maple4_ru_media будут перенесены файлы:
preview_styles.jpg и downloads_styles.jpg

Важное замечание:
При вставке кода HTML рисунка (если Вы будете использовать FoxPro) применяйте только конструкцию вида:
src="downloads_styles.jpg", т.е. ресурс, обрамленный ДВОЙНОЙ кавычкой (только в этом случае файлы графики будут автоматически выбираться из каталога maple4_ru_media)!



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

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