В
SVN версии LS произошло обновление шаблонизатора Smarty, теперь используется последняя 3.0.7 версия, написанная на PHP 5.2.
Обновление в ядре прошло гладко, единственное пришлось внести изменения в стандартный класс Smarty —
trac.lsdev.ru/livestreet/changeset/1129, это позволит делигировать шаблоны плагинами.
Теперь самое важное — для работы текущих шаблонов на новой версии шаблонизатора необходимо внести в них некоторые изменения. А именно:
- везде, где используется
{include file='file_name.tpl'}
имя файла нужно брать в кавычках, по сути это относится к любым параметрам - не использовать апострофы `, т.е. было
{include file='paging.tpl' aPaging=`$aPaging`}
стало {include file='paging.tpl' aPaging=$aPaging}
для математических выражений {section name=closelist1 loop=`$nesting-$cmtlevel+1`}
меняем их на скобки {section name=closelist1 loop=($nesting-$cmtlevel+1)}
- после открывающей фигурной скобки { и перед закрывающей } не должно быть пробельных символов, иначе они не считаются за конструкции Smarty
- в условиях логические операторы необходимо отделять пробелами, было
{if $aParams[0]=='favourites'and$aParams[1]!='comments'}
стало {if $aParams[0]=='favourites' and $aParams[1]!='comments'}
Эти правила должны помочь достаточно легко адаптировать ваши шаблоны под текущую(а в последствии и новую версию) SVN версию LS.
Пример адаптации шаблона «new» —
trac.lsdev.ru/livestreet/changeset/1128