I live ExBB and CMS Limbo! » Форумы и сайты » SMF Community » Слои в SMF

Страниц (1): [1]
 

1. технарь - 6 января 2017 — 20:28 - перейти к сообщению
Слои (layers) — функции, содержащие некоторую часть шаблона.

Чтобы увидеть текущие слои, зайдите на форум как администратор и добавьте к адресу параметр ?debug, например
code:
http://mysite.ru/index.php?debug


Текущие слои выделятся рамочкой.

Верхний слой html_above содержит шапку шаблона. Подвал содержится в слое html_below. В слоях body_above и body_below содержится тело страницы. Загляните в index.template.php и поищите функции с окончанием _above, _below — стандартные слои шаблона.

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

Для начала создадим шаблон Your.template.php с таким содержимым
code:
function template_namefunction_above()
{
// тут ваш код
}

function template_namefunction_below()
{
// и тут ваш код
}


и поместим его в папку /Themes/default

 Цитата:
Вместо namefunction можно использовать любое имя (конечно же, на латинице).


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

 Цитата:
Внимание!!!
В файле наличие обоих функций template_namefunction_above и template_namefunction__below обязательно, иначе получим ошибку.


Затем, чтобы подключить наш шаблон к общему шаблону, добавим в нужный файл его вызов:
code:
loadTemplate('Your'); // подключение файла Your.template.php
$context['template_layers'][] = 'namefunction'; // вызов функций из подключенного шаблона


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

Оригинал статьи находится здесь.

Powered by ExBB v1.1.180311