SSI (Server Side Includes)
Материал из Movable Type Wiki
|
SSI (Server Side Includes) в представлении Movable Type — это возможность использовать в шаблонах стандартные теги MT, которые при публикации преобразуются в язык, указанный в атрибутах или настройках модуля. Проще всего будет понять на примере.
Примечание: все примеры в этой статье рассматриваются с использованием PHP. Но для всех языков программирования принцип работы один и тот же.
Пример
Предположим, у вас есть модульный шаблон «Navigation», который должен присутствовать на каждой странице сайта. Так как, обычно, в навигации содержится множество данных, то их получение требует определённых затрат ресурсов сервера. При публикации множества страниц это может быть заметно. К тому же, сгенерированная таких образом навигация может отличаться на разных страницах. Поэтому желательно сгенерировать шаблон один раз, а затем включать его «на лету» в другие шаблоны.
Можно обойтийсь и без SSI, например, создать индексный шаблон с навигацией, который подключать в другие шаблоны одним из следующих образов:
<?php include("/home/user/axample.com/docs/includes/navigation.php"); ?>
<mt:Include file="/home/user/axample.com/docs/includes/navigation.php" />
А с использованием SSI код в шаблоне будет выглядеть так:
<mt:Include module="Navigation" />
Результат, который будет во всех шаблонах (кроме системных):
<?php include("/home/user/axample.com/docs/includes_c/navigation.php"); ?>
Плюсы SSI:
- Простота использования.
- Не нужно знать языков программирования.
- Стандартные теги Movable Type.
- Не нужно знать абсолютный путь на сервере.
- Не нужно указывать разный код для обычных и системных шаблонов.
Поддерживаемые языки
- PHP
- SHTML
- Active Server Pages (ASP)
- Java Server Pages (JSP)
Использование модуля
Для использования модуля его необходимо активировать. Для этого перейдите к настройке публикации, а затем в пункте «Включение на стороне сервера» выберите тип включения.
После активации модуля, будет доступно для варианта использования:
- через параметры отдельного шаблона;
- через атрибут тега
<mt:Include />
.
Работа с SSI через параметры шаблона
Этот метод наиболее простой.
- Откройте модульный шаблон, например, Navigation, а затем в его опциях активируйте «Включение на стороне сервера».
- После этого во всех остальных шаблонах, куда при помощи тега <mt:Include /> будет включаться Navigation, будет генерироваться похожий код:
<?php include("/home/user/axample.com/docs/includes_c/navigation.php"); ?>
Работа с SSI атрибут тега <mt:Include />
На примере модуля «Navigation»:
- В необходимом месте ваших шаблонов добавьте тег
<mt:Include module="Navigation" ssi="php" />
- Это сгенерирует необходимый код.
Если в значении атрибута «ssi» указать «0», то шаблон, наоборот, не будет обрабатываться как SSI. Возможные значения атрибута ssi: php, asp, jsp, shtml