Рекомендация к использованию: Наследование шаблонов
На примере будущего jQuery-шаблона для ПриветСочи.ру решил выложить мини-инструкцию использования наследования шаблонов, сильно сокращающий количество часто повторяющегося Smarty-кода.
ZIP-архив с примером
Коротко о файлах в примере (ссылка на архив внизу):
- topic.prototype.tpl — прототип топика, содержащий всю повторяющуюся разметку. Использованы вложенные конструкции типа
{block name=...}
- topic_link.tpl, topic_photoset.tpl, topic_question.tpl, topic_topic.tpl — файлы, наследующие и заменяющие/дописывающие некоторые блоки прототипа топика (topic.prototype.tpl)
- topic.social.tpl — включение с кодом кнопочек публикации в разные соц-сети.
Коротко о содержании файлов:
Посмотрев файлы примера, не сложно заметить, что файлы topic_*.tpl содержат:- в начале каждого файла наличиствует код
{extends file=topic.prototype.tpl}
- минимум специфической разметки, обрамленной в конструкции
— это замены и дополнения блоков. Флаг может либо отсутствовать (что означает полную замену содержимого блока), либо принимать принимать значения:{block name=... флаг}
- append — дописывает в конец содержимое блока к наследуемому блоку.
- prepend — дописывает в начало содержимое блока к наследуемому блоку.
- hide — скрывает блок (насколько я понял, если добавить в блок прототипа, то по умолчанию блок будет скрыт).
- nocache — запрещает кеширование содержания блока (а это вообще актуально для LS?).
Документация
ZIP-архив с примером