Универсальный плагин для Simpla CMS

Универсальный плагин для Simpla CMS

y_9170650e
Эта статья поможет Вам внедрить универсальный плагин для вызова нужных функций API прямо в шаблоне без надобности дорабатывать PHP код.

И так откройте файл view/View.php нам понадобиться в нем зарегистрировать наш универсальный плагин, после кода:

$this->design->smarty->registerPlugin("function", "get_discounted_products", array($this, 'get_discounted_products_plugin'));

пропишите:

$this->design->smarty->registerPlugin("function", "get_uni", array($this, 'uni_plugin'));

Далее почти в самом низу перед закрывающейся фигурной скобкой пропишите нашу функцию:

public function uni_plugin($params, &$smarty){
if(!empty($params['var']))
    $smarty->assign($params['var'], $this->$params['class']->$params['method']($params));
}

Использовать в любом шаблоне нужно так:

{get_uni var=posts class=blog method=get_posts limit=4}
{if $posts}
{foreach $posts as $post}
<span>{$post->name}</span>
{/foreach}
{/if}

var=posts — название нашей будущей переменной

Читайте также  Выбор количества товара перед помещением в корзину Simpla

class=blog — название класса к которому мы обращаемся (список классов Вы можете посмотреть в папке api)

method=get_posts — метод (функция) которая нам нужна из класса blog

limit=4 — параметры фильтрации нашего запроса

Автор: Noxter

Вывод всех товаров категории на странице товара. S... открываем view/View.php регистрируем функцию: $this->design->smarty->registerPlugin("function", "get_products", array($this, 'get_products_p...
Выбор количества товара перед помещением в корзину... Странно, что разработчики вообще не включили данное дополнение в свой дистрибутив, ведь мелочь, а приятно, ну да ладно, сделаем сами. ...
Пакетное изменение цен в Simpla... Открываем simpla/design/html/products.tpl и ищем Удалить после добавляем Изменить цену далее ищем перед кодом добавляем пр...
Указываем телефон в настройках Simpla... Намного удобнее указывать телефон только в одном месте, ведь если номер поменяется — удобнее поменять только в настройках в админке, че...

Сохрани, чтобы не потерять