Изучаем слои

Продолжаем осваивать SMF. И сегодня рассмотрим понятие слои.

Слои (layers) — функции, содержащие некоторую часть шаблона. Чтобы увидеть текущие слои, зайдите на форум и добавьте к адресу параметр debug. Например: http://mysite.ru/index.php?debug (авторизуйтесь под администратором). Текущие слои выделятся рамочкой. Верхний слой (html_above) содержит шапку шаблона. Подвал содержится в слое html_below. В слоях body_above и body_below содержится тело страницы. Загляните в index.template.php и поищите функции с окончанием _above, _below — стандартные слои шаблона.

Рассмотрим, как добавить блок в верхнюю или нижнюю часть сайта. Файлы движка и база данных останутся без изменений.

Как это сделать?

Для начала создадим шаблон (Your.template.php) и поместим в папку /Themes/default. Содержание файла:

function template_что-нибудь_above()
{
    // тут ваш код
}

function template_что-нибудь_below()
{
    // и тут ваш код
}

Вместо что-нибудь лучше использовать другое имя (конечно же, на латинице).

Теперь, если требуется разместить блок в верхней части шаблона, html-контент добавляется в функцию template_test_above, а для добавления в нижнюю часть — в функцию template_test_below. Никто не запрещает использовать обе функции даже с одинаковым содержимым.

Внимание: в файле обязательны обе функции template_что-нибудь_above и template_что-нибудь__below обязательно, даже если они пустые! Иначе получим ошибку.

Затем, чтобы подключить шаблон к общему шаблону, добавим в нужный файл вызов шаблона:

loadTemplate('Your'); // подключение файла Your.template.php

$context['template_layers'][] = 'что-нибудь'; // вызов функций template_что-нибудь_above и template_что-нибудь_below из подключенного шаблона

После этого созданные слои отобразятся после встроенных слоев SMF.

Плюсануть
Поделиться
Класснуть