Любой из них будет работать.
Модуль - это триада MVC, который может взаимодействовать с URL-адресом, отображать представления, иметь свои собственные модели, помощников, конфигурацию и т. Д.-veg.
Виджет - это просто самодостаточная интеллектуальная часть.Это означает, что для каждого экземпляра требуется несколько параметров из панели управления и выкладывается фрагмент HTML.
Плагин - это просто тег.Этот тег используется в шаблоне, на страницах, в новостях и т. Д. И также выплевывает кусок HTML.Плагин может иметь различные методы в классе, каждый метод будет отличаться тегом.
Я фактически сделал контактные формы как все эти типы аддонов, но тот, который я выбрал для PyroCMS v1.1 модульный плагин .Это означает, что для модуля есть виды, модели и т. Д., Но мы можем пропустить контроллер и просто создать плагин, подобный этому.
Этот плагин соответствует тегу:
{pyro:contact:form}
Топотому что он находится в контактном модуле, а метод - форма.Увидеть?:)