PyroCMS: модуль, плагин или виджет? - PullRequest
3 голосов
/ 30 июня 2011

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

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

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

Предложения

Ответы [ 2 ]

4 голосов
/ 30 июня 2011

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

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

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

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

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

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

2 голосов
/ 19 июля 2011

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

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

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

...