Forums / National / Russian / Идеи / Chunks

Куски кода в шаблоне

Sergey
#39794 2014-09-05 06:15

Я это расписал для понимания. Конечно, надо будет делать плагин. Выражение $mskin_чанк_N = sed_skinfile это как раз дилемма подбора файла шаблона tpl. Я указал конкретный вариант для общего понимания. Самое интеерсное то, что генерация чанков может предшествовать загрузке модулей в какой-то общей части. А назначение

$t->assign(array(
    "ТЕГ_ЧАНК_N" =>$t_чанк_N->text("MAIN_ЧАНКА")

хоть где, так как экземпляр класса  $t_чанк_N глобален. Тогда как  очередное

$t = new XTemplate($mskin); 

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

---

Что касаемо вставить тег для этого у меня есть такая штучка Тег-процессор:

Тег это некая единица информации имеющая свое имя. Пример тега:
 

{{PAGE_SHORTTITLE}}


где в фигурных скобках, которые обозначены как {{ и }} указано имя тега.

Процесс формирование какого либо параметра на ресурсе в CMS Cotonti происходит по следующему сценарию:на серверной части формируются теги. Далее теги вставляются в темплейт. Полученный результат отображается на экране.

Для наиболее полного использования плагина Mobile web: slots необходима вставка тегов. Ранее приведенный тег {HEADER_NOTICES} формируется модулем header.php. Этот тег предназначен для вывода сообщение юзеру, например о письмах, полученных для него. Когда формируется меню, в котором используется этот тег, то встает вопрос, а как быть с разными моделями и юзерами. Если для статических меню, проблем не возникает, то проблемы возникают для пунктов меню, которые формируются динамически,"на лету", зависимости от того, кто посетил ресурс и с какого устройства посетил.
 

Тег-процессор как раз и решает эту проблему.


Для того, чтобы вставит тег необходимо в тексте слота указать:

{{ИМЯ_ТЕГА}}


Тег якоря HTML тег А, содержит аргумент (то, что отображается на экране) Аргумент, в зависимости от ситуации(язык, скин, тема) бывает необходимо заменить Для того чтобы заменить такой аргумент предназначена несколько иная форма:
 

{{ИМЯ_ТЕГА}новый аргумент}

подробно тут  http://www.cotonti.mobi/page.php?al=tag_processor

Чтобы не обрабатывать все чанки достаточно связать обработку с зоной $z - все просто.

www.cotonti.mobi

Dit bericht is bewerkt door Sergey (2014-09-05 08:43, 10 jaren ago)