Универсальный плагин для 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 — название нашей будущей переменной

Читайте также  Бургер меню без плагинов.

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

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

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

Автор: Noxter

Simpla валюта через select {if $currencies|count>1} {foreach from=$currencies item=c} {if $c->enabled} id==$currency->id} selected="selected"{/if}>{$c->name|esca...
Сортировка по ценам Simpla. Сортировка по цене от «дорогой к низкой» и от «низкой к дорогой». При этом все товары с нулевой ценой отображаются в конце списка и не ...
Количество товара перед помещением в корзину. Simp... В шаблоны добавляем: шт. Для добавления Ajax обновления корзины заменяем в файле /js/ajax-cart.js data: {variant: variant}, на data: {v...
Несколько полезностей для Simpla 2.x... Переносим выбор варианта оплаты на первую страницу оформления заказа Автоматически создаваемый артикул как ID товара Выбор количества товара перед п...

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