Для продвинутых
Есть бланк (шаблон, основа страницы), и есть контент.
Как добиться, чтобы контент оказался в странице?
Очень просто! Нужно в бланк вписать тэг с указанием, откуда взять наполнение.
Форма тэга:
‘Откуда_Взять‘
Если не указана таблица, берется значение поля из текущей таблицы либо значение глобальной переменной
‘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> </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)!
Для продвинутых | |
Что можно использовать? | |
Файлы стиля | |
Пользовательская реакция |
Что-то интересное
Опять художественный фильм основан на реальных событиях. Типа
Восстание машин. Начало
Англо-бурская война
Великие вымирания в истории Земли
Семён Слепаков: Оле-Оле-Оле и Черчесов забьет гол. Левой ногой. Пять - НОЛЬ!
Что-то политическое
Порошенко и допросы. Тюрьма всё ближе
Короли и капуста. Рецепт исцеления политического склероза
Почем мракобесие для украинцев или Богохульство от Минстеця
Мы поддерживаем мудрый шаг Зеленского
Петро Алексеевич опять нас всех спас