|
|
31.12.2001
Новая статья в разделе "Язык": Ругайтесь правильно! 15.12.2001 Новая статья в разделе "Дизайн": Мощь SSI 13.11.2001 Новая статья в разделе "Дизайн": Теория двигателей-3 |
Во-первых, я хотел бы выразить свою благодарность и почтение Станиславу Жаркову из E-notes.ru (бывший Pro.Net.ru) за первые две статьи по теории двигателей, их можно найти на Е-нотах. Именно он сподвиг меня на написание движка (engine) к сайту Жи-Ши и на написание этой статьи. Сначала я сделаю краткий обзор движка, предлагаемого Мастером, а затем внесу в него свои коррективы. Задача: чтоб работал на любых тарифах и был простым.
Engine состоит из нескольких частей:
Таким образом, на сервер нужно переписать всего 2 файла: файл раздела (books.txt) и саму статью. К сожалению, этот прекрасный движок работает только на серверах с поддержкой PERL, SSI и прочих радостей жизни. Ну а если их нет, а на другой хостинг не хочется? Ручками до конца жизни все вносить? Да нет, есть выход. Когда я в первый раз увидел текстовый файл (типа базы данных) одного из разделов Енотов, то мне в голову пришла Мысль: Как все это похоже на STD файл простых табличных данных!. Тогда я и решил попробовать извернуться и попробовать вставить эту БД не через SSI или скрипт на PERL, а через хитрый элемент управления. Кстати, вот так выглядит мой STD-файл:
Думаю, понятны все значения: первое поле
порядковый номер, второй дата написания,
третий имя файла в HTML, четвертый
само название. Вы мне скажете: это все хорошо,
а как все вставить куда надо? Ответ: поскольку
ссылки на статьи в рамках раздела идут в таблице,
мы и будем вставлять таблицей.
Поясню значение параметров: FieldDelim разделитель, DataURL имя вставляемого файла, UseHeader есть у вас заголовки в базе данных или нет, обратите внимание на ID=links, это нам еще пригодится. Объект всунут, теперь надо и ссылочки вставить:
Как вы уже догадались, таблица содержит всего одну строку, в которой помещены ссылки и тэги <DIV>. Параметр включения DATASRC (в тэге таблицы) указывает на ID вставленного объекта, параметры DATAFLD поля данных. Немного странно, что данные помещаются в тэги <DIV>, но это не слои, а просто поля с данными, если эти тэги окружить любыми другими (A, FONT, IMG, B, I и др.), то получаются данные, вставленные между этими тэгами и никаких слоев. В тэге линка параметр DATAFLD равен параметру href в обычной ссылке. К сожалению, вставлять STD-данные можно только в некоторые тэги, кроме вышеперечисленных INPUT (из того, что я знаю). Последняя фишка STD в тэги слоев можно поместить все что угодно, и после загрузки основных данных это сменится на них. С моей точки зрения, создается впечатление Java-апплета... Таким образом, без всяких CGI-скриптов и SSI мы получили наипростейший двигатель для сайта, который упростит вам его обновление и сэкономит время. Кстати, на что я буду тратить такую кучу времени?.. jishi.h1.ru/engine3.html |
|
| Автор и администратор сайта: Александр Жешев, jishi@fromru.com |
|
Проект дизайнерской группы Снег neige@pisem.net |