PyroCMS: модуль, плагин или виджет?

Я новичок в PyroCMS и изо всех сил пытаюсь понять, как что-то реализовать.

Скажем, у меня есть список продуктов, которые я хочу отобразить. У каждого товара в списке есть фото товара, описание и его цена. Этот список продуктов можно использовать на главной странице (например, отображая несколько продуктов), в результатах поиска (например, в поисковой выдаче), на странице просмотра и т. д.

Я должен быть в состоянии создать одну «вещь», которая имеет всю разметку, необходимую для этого списка, а также возможность принимать параметры (например, получить только 5 лучших элементов для отображения на главной странице). Проблема в том, что я не знаю, что это за "вещь" должна быть: модуль, плагин или виджет?

Предложения?


person StackOverflowNewbie    schedule 30.06.2011    source источник


Ответы (2)


Вам нужно иметь возможность управлять продуктами через панель управления? Тогда вам как минимум нужно начать с создания модуля. Из глоссария:

... Весь пользовательский код, который требует интерфейса и дополнительных файлов CSS или JavaScript, должен быть написан как модуль, а не как виджет.

Оттуда линия становится немного размытой:

Подобно виджетам, плагины представляют собой автономную логику, которую можно встраивать в макеты контента или темы, но вместо графического элемента они полностью обрабатываются с помощью синтаксиса тегов.

Виджеты — небольшие фрагменты автономной логики и HTML, которые можно установить в интерфейсе администратора. Их можно назначить определенным областям виджетов и упорядочить визуально.

Если я правильно помню, и плагины, и виджеты принимают параметры. Основное отличие состоит в том, что виджеты назначаются определенным областям шаблона, а плагины можно встраивать в контент в любом месте с помощью {тегов}. Поскольку это будет встроено в контент только определенных страниц, я бы выбрал плагин.

person Wesley Murch    schedule 30.06.2011

Внимательно прочитав ваши требования, ответ заключается в том, что вам нужен модуль.
Послушайте, я тоже новичок в PyroCMS, но после 2 месяцев использования у меня есть модули сборки, плагины и виджеты, и я могу сказать вам, что для важности который есть в вашем коде (показать список продуктов, функции поиска, возможно, загрузить изображения?), подходит module.

У вас будет та же функциональность, что и у widget или plugin, но все дело в модуле: используйте внешние библиотеки, включайте js/css в HEAD, добавляйте функции администратора, создавайте модульные плагины, используйте таблицу settings и вкладку Settings в backend для простой установки и доступа к переменным из всего приложения.

Кроме того, если это ваш первый опыт использования PyroCMS, модуль даст вам более широкое представление о всей CMS.

person Igor Parra    schedule 19.07.2011