После выпуска новой версии Widgetkit2 мы были очень удивлены, увидев, что YooTheme'цы не придерживались обычного для них code style'а. Как следствие использование элементов не YooTheme в столь прекрасном компоненте стало почти невозможным.
Далее мы рассмотрим несколько примеров, как же адаптировать элементы JBZoo под Widgetkit2. Это совсем не сложно, но минимальные знания в области php понадобятся.
Все, что от нас требуется сделать - прописать правило вывода под необходимый элемент.
Открываем файл
\plugins\system\widgetkit_zoo\plugin\src\Transformer.php
Нас интересует метод getSubscribedEvents, как раз он регистрирует евенты.
Для примера возьмем элемент цены jbpriceplain. По аналогии регистриурем его -
ключ это неймспейс
'joomla.zoo.render.<ELEMENT_TYPE>' => render<ELEMENT_TYPE>
Значение(render<ELEMENT_TYPE>) указывает на имя метода в этом же классе Transformer. В случае вывода цены, нам подойдет только реальный его рендерер, потому как очень много связей - шаблон элементов цены, параметры для виджетов, создание конфигов, объект списка вариантов цены и т.д. ... И так вызываем render() у элемента передав в него параметры.
К сожалению, с картинкой этот вариант бы не прошел. Все теги обрезаются и планы на отображение картинки у плагина свои. Все что надо сделать, это вернуть ссылку.
$element->get('file')
Если элемент не зарегистрирован, по умолчанию, будет взято значение $element->get('value').
В вложении патч с адаптированными элементами jbpriceplain, jbpricecalc, jbimage.
Attached Files
Edited by tapakan, 28 July 2015 - 18:37.