Шаблонизатор Smarty в LB 5.0 и выше

0
Администратор
+ 133
Автор LogicBoard
ShapeShifter
08:30, 15.11.2015
Уважаемые клиенты, начиная с 5-й версии LogicBoard в качестве шаблонизатора будет использоваться Smarty 3-й версии.
Поэтому старые шаблоны нужно адаптировать под синтаксис Smarty. 

Решение о переходе на более мощный шаблонизатор было принято в связи с тем, что он в разы более гибкий в настройках, не нужно создавать различные теги в виде [tag]{tag}[/tag], достаточно вывести переменную $tag и в шаблоне уже производить необходимую проверку {if $tag}{$tag}{/if} или {if $tag > 5}{$tag}{/if}.
Благодаря данным конструкциям вы сможете настроить свой шаблон максимально удобно под нужды своего проекта. К примеру в LB CMS Edition есть параметр по умолчанию - репутация, вы можете в шаблоне указать такое условие: {if $reputation > 100}Лучший помощник!{/if} (т.е. если репутация пользователя выше 100 - выводится какой-то текст или любой другой html код).
В основном используются условия {if} вместо тегов [tag][/tag], поэтому вам не составит труда разобраться в синтаксисе и переделать свой шаблон, а возможно кто-то предпочтет прейти на наш новый шаблон Adaptive 
Администратор
+ 133
Автор LogicBoard
Глобальные теги, которые возможно использовать во всех файлах шаблона:

$MEMBER.member_id - ID пользователя (если гость - 0)
$MEMBER.name - Логин пользователя (если гость - пусто)
$MEMBER.group - ID группы пользователя (если гость - 5)
$MEMBER.group_title - Название группы пользователя
$MODULE.do - Системная переменная do
$MODULE.op - Системная переменная op
$MODULE.id - Системная переменная id
$IS_MAIN - является ли текущая страница главной
$MOBILE.isMobile - Если пользователь зашел со смартфона
$MOBILE.isTablet - Если пользователь зашел с планшета
$TEMPLATE - Пусть к текущему шаблону
$TEMPLATE_NAME - Название текущего шаблона
$HOME_LINK - Ссылка на главную страницу форума
$SECRET_KEY - Секретный ключ пользователя (используется для защиты от CSRF)
Администратор
+ 133
Автор LogicBoard
Если после добавления js кода в шаблон у вас появилась ошибка:
Fatal error: Uncaught --> Smarty Compiler: Syntax error in template
Это значит, что js код конфликтует с синтаксисом Smarty, а именно в js коде присутствует код, где после символа { нет пробела или перевода строки и Smarty такой синтаксис пытается обработать как некий код/переменную. Поэтому просто после символа { сделайте перевод строки.
 
Доступ закрыт.
  • Вам запрещено отвечать в темах данного форума.