我正在使用joomla 3.0开发一个组件。我正在尝试在我的组件中添加表单。我看到joomla有用于在后端添加表单的JHTML类。
在前端创建表单的建议是什么?我应该使用JHTML还是干净的html标记?我在哪里可以找到该类的文档。
发布于 2013-05-16 08:37:00
JForm JModelForm JControllerForm
在Joomla 1.6 +的数据库中保存数据的表单主要使用JForm包,它管理表单(xml或xml字符串)、字段(实际字段)和规则(验证)。
管理它的普通方法是扩展JModelForm和JControllerForm。如果查看核心,您会看到这些扩展出现在您可能意想不到的地方,例如single contact视图,但基本上这是因为这些类提供了在页面的任何部分管理表单所需的基本设置,即使其余部分与表单无关。
或者,您可以始终创建一个新的JForm对象。
如果您有一个models文件夹,通常会有一个forms文件夹,如果需要,还会有一个字段和规则文件夹。THe后两个包含您的扩展可能需要的任何自定义字段或规则。默认情况下,在扩展中构建表单时可以找到它们,但是如果需要从其他地方获取它们,则需要在form xml中根据需要使用addFieldPath或addRulePath或addFormPath。
Jform提供了一组标准的字段和规则,以及一组标准的过滤器。规则意味着验证,而筛选器将更改保存的值。您还可以使用JFilterInput中提供的任何过滤器。
如果为字段提供与当前表对象中的字段相同的名称,则数据将自动保存在该字段中。如果使用的字段标记的名称默认与字段匹配,则标记中列出的字段将保存为该字段中的JSON字符串。
这几乎就是最基本的,尽管还有更多的东西。
对我来说重要的一件事是,如果你使用JForm,默认过滤是非常好的,你有选择地允许html等,所以默认情况下它是非常安全的。
https://stackoverflow.com/questions/16541050
复制相似问题