$351.18


$212.86


$31.21


SSI - что, когда, как?

Основным, простейшим, но в то же время чрезвычайно мощным инструментом поддержки больших наборов документов является SSI (Server-Side Includes — включения на стороне сервера). Если кто-то из вас знает Си, то он быстро поймет, что SSI чрезвычайно похож на макроязык. С помощью SSI можно не только в зависимости от некоторых условий выводить определенные части документа, не только формировать документ из заранее определенных кусочков, но и вставлять результат работы некоторого CGI сценария или программы прямо в документ.

Таким образом, какими бы навороченными не были шапка и концевик документа, редактируемый документ выглядит чрезвычайно просто, и его легко редактировать.


Только используя SSI вы можете в считанные минуты полностью изменить внешний вид или обновить систему навигации на узле, имеющем сотни или тысячи документов, и так, что это пройдет безболезненно для пользователей узла, т.к. вам только потребуется заменить несколько файлов, а остальное за вас сделает сервер.

В связи со всем вышесказанным рождается одно правило: желательно смысловую часть документа строить так, чтобы она никак не полагалась на содержимое шапок и концевиков. В этом случае вы легко сможете перейти с табличной организации страниц на последовательную или на слоевую.


Теперь приведем пример файла, вставляемого в начало каждого документа сервера http://www.citforum.ru/. Особенностью сервера является то, что каждый раздел имеет свой базовый цвет, и все это создается этим единственным файлом:

<!--#if expr=«$DOCUMENT_URI=/\/internet\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/database\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/ofis\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/abtec\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/programming\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/operating_systems\//» -->
<!--#elif expr=«$DOCUMENT_URI=/\/abtec\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/ftp\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/news\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/finnews\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/events\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/lists\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/hardware\//» -->

<!--#elif expr=«$DOCUMENT_URI=/\/nets\//» -->

<!--#else -->

<!--#endif -->

    
<!--#include virtual=«/cgi-bin/Look_new.cgi»-->

Сервер содержит море(!) аналитической информации    
Рубрикатор всех документов CIT Forum

Данный пример иллюстрирует работу с условными операторами, с шаблонами, а также возможность использования вложенных SSI.

Следующий пример иллюстрирует, как с помощью SSI собираются страницы в Кладовой WebClub.ru. Их особенность заключается в наличии повторяющихся блоков одинаково оформленного текста. Достигается это использованием трех шаблонов:

_head.html

Web Club Repository. <!--#echo var=«TITLE» -->

«>
»>

<h>КЛАДОВАЯ</h>

<!--#echo var=«TITLE» -->

_item.html

<!--#echo var=«I_TITLE» -->  

<!--#if expr=«$I_PIC» -->

« width=»<!--#echo var=«I_PIC_W» -->«
height=»<!--#echo var=«I_PIC_H» -->« border=0>

<!--#endif -->

<!--#if expr=»$I_SITE« -->
Узел поддержки:»><!--#echo var=«I_SITE» -->

<!--#endif -->

<!--#if expr=«$I_PAGE» -->
Домашняя страница:«><!--#echo var=»I_PAGE« -->

<!--#endif -->

<!--#if expr=»$I_ARCHIVE« -->
Она сама:»><!--#echo var=«I_ARCHIVE» -->

<!--#endif -->

<!--#if expr=«$I_LOCALARCHIVE» -->
Она сама у нас: «><!--#echo var=»I_LOCALARCHIVE« -->

<!--#endif -->

<!--#if expr=»$I_PLATFORM« -->
Платформа: <!--#echo var=»I_PLATFORM« -->

<!--#endif -->
<!--#if expr=»$I_STATUS« -->
Статус: <!--#echo var=»I_STATUS« -->

<!--#endif -->

<!--#if expr=»$I_DESCRIPTION« -->
<!--#echo var=»I_DESCRIPTION« -->
<!--#else -->
No description.
<!--#endif -->

_foot.html

<!--#include virtual=»/materials/banfooter.html«-->

А вот как выглядит на самом деле файл, который вы воспринимаете, как обычный HTML документ (он сокращен для удобства восприятия):

<!--#set var=»TITLE« value=»HTML редакторы и утилиты« -->
<!--#set var=»KEYWORDS« value=»HTML,editor,редактор,утилита,utilities,freeware,shareware,free« -->
<!--#set var=»DESCRIPTION« value=»HTML редакторы и утилиты« -->

<!--#include virtual=»_head.html« -->

<!--#set var=»I_TITLE« value=»Prime Style 1.2« -->
<!--#set var=»I_RATING« value=»1« -->
<!--#set var=»I_PIC« value=»ps.gif« -->
<!--#set var=»I_PIC_W« value=»300« -->
<!--#set var=»I_PIC_H« value=»225« -->
<!--#set var=»I_SITE« value=»« -->
<!--#set var=»I_PAGE« value=»http://www.northnet.com.au/~hardy/prime/« -->
<!--#set var=»I_ARCHIVE« value=»« -->
<!--#set var=»I_LOCALARCHIVE« value=»« -->
<!--#set var=»I_PLATFORM« value=»Windows 95/NT« -->
<!--#set var=»I_STATUS« value=»Free« -->
<!--#set var=»I_DESCRIPTION« value=»Простой и наглядный редактор каскадных
стилей. Простой и понятный интерфейс.« -->

<!--#include virtual=»_item.html« -->

<!--#set var=»I_TITLE« value=»Web-O-Rama v.4.00« -->
<!--#set var=»I_RATING« value=»« -->
<!--#set var=»I_PIC« value=»weborama.gif« -->
<!--#set var=»I_PIC_W« value=»300« -->
<!--#set var=»I_PIC_H« value=»225« -->
<!--#set var=»I_SITE« value=»« -->
<!--#set var=»I_PAGE« value=»« -->
<!--#set var=»I_ARCHIVE« value=»« -->
<!--#set var=»I_LOCALARCHIVE« value=»« -->
<!--#set var=»I_PLATFORM« value=»Windows 95/NT« -->
<!--#set var=»I_STATUS« value=»Free« -->
<!--#set var=»I_DESCRIPTION« value=»Весьма удобный интерфейс, возможность
внешнего просмотра файлов через браузер, открывает сразу много файлов.

Есть встроенный индикатор контроля системных ресурсов.« -->

<!--#include virtual=»_item.html« -->

<!--#set var=»I_TITLE« value=»HTML Font Colorizer« -->
<!--#set var=»I_RATING« value=»3« -->
<!--#set var=»I_PIC« value=»« -->
<!--#set var=»I_PIC_W« value=»100« -->
<!--#set var=»I_PIC_H« value=»100« -->
<!--#set var=»I_SITE« value=»« -->
<!--#set var=»I_PAGE« value=»http://home1.inet.tele.dk/theill/hfc.htm« -->
<!--#set var=»I_ARCHIVE« value=»« -->
<!--#set var=»I_LOCALARCHIVE« value=»« -->
<!--#set var=»I_PLATFORM« value=»Windows 95/NT« -->
<!--#set var=»I_STATUS« value=»Freeware« -->
<!--#set var=»I_DESCRIPTION« value=»Эта великолепная утилита, котороя
позволит вам создать цветовое перетекание в тексте любым цветом. Достаточно
нажать несколько кнопок.« -->

<!--#include virtual=»_item.html« -->

<!--#include virtual=»_foot.html" -->

Данный пример замечательно иллюстрирует передачу параметров вставляемым файлам, возможность использования вложенного SSI, а также работу с условными операторами. В случае, если потребуется изменить внешний вид этих страниц, достаточно поменять всего три файла. Тут же весь раздел приобретет новый вид. Или можно, отредактировав один единственный файл отключить показ всех картинок в разделе.

 

Интересное

Что нового в SQL Server...
Наконец-то процесс создания SQL Server 2005 завершен. Если вы на протяжении долгого времени следили за подготовкой новой версии SQL, устанавливали и использовали бета-версии, с пристрастием...
Подробнее...
Обзор вариантов прокладки...
Если кто-то пытается убедить вас, что создание сети — дело сложное, не верьте: на самом деле, оно очень сложное. Тем не менее, если не замахиваться сразу на масштаб промышленного предприятия,...
Подробнее...
CSS вёрстка: учимся сами
Время от времени в мой почтовый ящик приходит очередное письмо, содержащее всего одну просьбу: меня просят рассказать о неком алгоритме изучения «блочной» вёрстки. Настало время...
Подробнее...
.htaccess - великий и...
Как известно, самым популярным на сей день веб-сервером является Apache в различных версиях (а вовсе не IIS, как утверждает Microsoft). Его ставят на свои сервера большинство хостителей, услуга же...
Подробнее...
Летать самолётом боятся...
Летать самолётом боятся очень многие – и это вполне объяснимо. Ведь небо не является для человека средой обитания. Но бывают моменты, когда не полететь нельзя: нет времени на длительное...
Подробнее...
Использование OpenGL в Java
Принципы реализации OpenGL в JavaВ настоящее время Java очень широко распространена и все больше и больше различных технологий переносятся на этот язык. Не исключением является и OpenGL. OpenGL...
Подробнее...
Корпоративный интернет-счётчик
В данной статье рассказывается как создать интернет-счётчик для корпоративного порталаСчётчик должен вести подробную информацию о посетителях: адрес откуда пришёл посетитель, адрес страницы,...
Подробнее...
Что такое комплексное...
Услуги по продвижению сайтов в сети Интернет стали в последние годы чрезвычайно популярными. Аудитория Интернета растет быстрыми темпами, многие фирмы обзаводятся сайтами и хотят привлекать на них...
Подробнее...
Все о тэге Title
Тэг Title – один из самых важных факторов, позволяющих достичь высоких позиций сайта в результатах поиска. Однако, при всей кажущейся простоте его использования, существует множество нюансов и...
Подробнее...
Копирование и удаление...
Попробуем осуществить копирование файла по частям. Узнаем о том, как удалять непустые каталоги с подкаталогами, а так же еще много полезной информации.В самом простом случае вопрос копирования...
Подробнее...