Пишу заметку для себя, так как надоело постоянно искать по сайту.

Написал бы в черновик, но может кому так же будет интересно.
Не что что я не знаю что тут написано :) просто плохая память.

Будет обновляться.


Работы с условиями шаблона, такие как Action; Event; ParamN и VarN
Используется следующая структура URL:
site.com/action/event/param0/param1/../paramN/?var1=value1&var2=value2

где:
action ($sAction) — имя экшена, который будет обрабатывать такой URL, соответствие именем экшена в URL и названием класса задается в конфиге роутинга.
event ($sEvent) — евент, который будет запускаться внутри экшена, определение евента можно назначать с помощью регулярного выражения
paramN ($aParams[0]) — дополнительные параметры переданные в URL
varN ($aVar[0]) — обычные GET параметры запроса

Пример
{if $sAction=='blog' or $sEvent=='blog' or $aParams[0]=='blog' or $aVar[0]=='blog'}
...
{/if}


Переменная, убираем Sidebar
{assign var='noSidebar' value=true}
ставиться на 1 строке шаблона

Ограничиваем кол-во символов в выводе.
{$oTopic->getTitle()|escape:'html'|truncate:40:'...'}
тут стоит ограничение 40 символов, для вывода заголовка топика.

{$oUserCurrent->getLogin()|truncate:40:'...'}
а так например ограничеваем кол-во символов в выводе логина.

Интересная статья про формат времени
Тут описывается как пользоваться например такой строкой, как:
{date_format date=$oTopic->getDateAdd() hours_back="12" minutes_back="60" now="60" day="day H:i" format="j F Y, H:i"}

livestreet.ru/blog/tips_and_tricks/7009.html
ua2.php.net/manual/en/function.date.php

Подключение файлов css и js в плагине
В класс в функцию
public function Init()

Добавление своего CSS в плагине
$this->Viewer_AppendStyle(Plugin::GetTemplatePath('nameplugin')."/css/style.css");

Добавление своего JS
$this->Viewer_AppendScript(Plugin::GetTemplatePath('nameplugin')."/js/script.js");


Выводим код ТОЛЬКО в топике
Отличный долгожданный код, который выводит в любом шаблоне только в топике
{if Router::GetAction() == 'blog' && Router::GetActionEventName() == 'topic'}
    ....
{/if}


Как убрать знаки после запятой в числах
Все очень просто без редактирования php, например убирает в рейтинге и силе
{$oUser->getSkill()|string_format:"%.0f"}
или
{$oUser->getRating()|string_format:"%.0f"}


Назначение блоков в config`е шаблона
Способ который давно искал, назначение блоков через конфиг шаблона, который находится тут
root\templates\skin\nameskin\settings\config\config.php
{Config::Set('block.rule_index',array(
    'action' => array(
        'index',
    ),
    'blocks'  => array( 'right' => array('blogs') ),
));


Разные окончания слов, в зависимости от переменной
Для этого нужно использовать простую языковую переменную. В ней нужно перечислить все склонения слова.
'comment_declension' => 'комментарий;комментария;комментариев'

В шаблоне нужно использовать это так
{$iCountComment|declension:$aLang.comment_declension:'russian'}


Плагин для Smarty, для strip_tags
Плагин позволяется исключать не все теги, а только которые входят в заданные параметры.
shurshun.ru/smarty-rasshiryaem-vozmozhnosti-strip_tags/

0 комментариев

Автор топика запретил добавлять комментарии