воскресенье, 29 ноября 2009 г.

Вставка отдельного блока в .tpl COTONTI

Существует несколько вариантов
1. Можно использовать дополнительные поля предусмотренные в Cotonti.
Вы можете найти их в админке по адресу admin.php?m=config&n=edit&o=core&p=menus (Управление сайтом → Конфигурация → Слоты для меню)

Предусмотрены несколько типов полей:
  • {HEADER_BANNER} и {HEADER_TOPLINE} эти дополнительные поля возможно добавить только в header.tpl
  • {FOOTER_BOTTOMLINE} это поле возможно добавить только в footer.tpl
  • Поля доступные во всех .tpl файлах их всего 18. Это поля {PHP.cfg.menu1} - {PHP.cfg.menu9} и {PHP.cfg.freetext1} - {PHP.cfg.freetext9}
В большинстве случаев такого количества полей будет достаточно. Но существуют ситуации, когда нам нужно добавить какие-либо блоки, которые не должны быть редактируемы из админки.
Стоит отметить, что в случае если пароль администратора будет выкраден или сайт будет взломан, то эти поля окажутся доступными для злоумышленников и они легко смогут разместить на сайте вредоносный код или просто какие-либо материалы (дефейс сайта).
Из соображений безопасности лучше использовать такую схему добавления блоков, которая не позволила бы изменять их содержимое через административный интерфейс сайта. В этом случае нам помогут возможности Xtemplate. И так:

2. Возможность страивать в файлы .tpl другие файлы .tpl.
Для этого используется конструкция: {FILE "skins/НАЗВАНИЕ ВАШЕГО СКИНА/название вашего файла.tpl"}  
Например {FILE "skins/cotonti/include.tpl"}, где cotonti - папка с названием вашего скина, а include.tpl - название файла в котором вы размещаете код встраиваемого блока.

При использовании такой конструкции необходимо помнить две вещи
1. В встраиваемом .tpl файле не должно быть никаких открывающих и закрывающих блоков как в других .tpl  (BEGIN:MAIN - END:MAIN)
2. Чтобы встроенный блок начал отображаться необходимо очистить дисковый кеш.

Чтобы очистить дисковый кеш, необходимо перейти в админке по адресу admin.php?m=cache&s=disk (Управление сайтом → Модули → Дисковый кэш) и кликнуть по пункту очистить все. Также это можно сделать вручную удалив все файлы из папки корень сайта\datas\cache\templates\

Комментариев нет:

Отправить комментарий