这让我很生气!我想在网站主页上添加一个简单的联系表单。如果我需要构建模块,小部件或插件,我无法解决。他们似乎都不是很正确! 模块似乎只作为独立页面工作,例如现有的联系模块。小部件似乎只显示数据(来自db或某种类型的feed,例如twitter),插件似乎就像一个库类。 我需要的最像是一个模块。我需要一个控制器(显示正确的视图并处理表单和视图中的数据,具体取决于表单是否已提交。 我的问题是我无法弄清楚如何将模块作为页面的一部分(就像你的小部件一样)而不是它本身的页面。
答案 0 :(得分:7)
任何一种都可以。
模块是一个MVC三元组,可以与URL交互,显示视图,拥有自己的模型,帮助器,配置等。模块是完整的肉和两个蔬菜。
Widget只是一个独立的智能部分。这意味着它需要从控制面板为每个实例提供一些选项,并吐出一大块HTML。
插件只是一个标签。此标记用于模板,页面,新闻等,并且也会发出一大堆HTML。插件可以在类中有各种方法,每个方法都是不同的标记。
我实际上已经将联系表格作为所有这些类型的插件,但我为PyroCMS v1.1确定的是modular plugin。这意味着模块有视图,模型等,但我们可以跳过控制器,只需制作一个这样的插件。
该插件与标签匹配:
{pyro:contact:form}
那是因为它在联系人模块中并且方法是形式。看到? :)