我正在使用joomla 3.0开发一个组件。我正在尝试在我的组件中添加表单。我看到joomla有JHTML类用于在后端添加表单。
在前端创建表单的建议是什么?我应该使用JHTML还是干净的HTML标记?我在哪里可以找到该课程的文档。
答案 0 :(得分:1)
JForm JModelForm JControllerForm
在Joomla 1.6 +中的数据库中保存数据的表单主要使用管理表单(xml或xml字符串),字段(实际字段)和规则(验证)的JForm包。
管理它的简单方法是扩展JModelForm和JControllerForm。如果您查看核心,您会看到这些扩展到您可能没有想到的地方,例如单个联系人视图,但基本上是因为这些类提供了在页面的任何部分管理表单所需的基本设置,即使其余部分与表格无关。
或者,您始终可以创建新的JForm对象。
如果您有模型文件夹,通常会有一个表单文件夹,然后是必要的字段和规则文件夹。后两者包含您的扩展可能需要的任何自定义字段或规则。默认情况下,在扩展中构建表单时会找到这些内容,但如果您希望从其他地方使用它们,则需要在形成xml时根据需要使用addFieldPath或addRulePath或addFormPath。
Jform提供一组标准字段和规则以及标准的过滤器列表。规则表示验证,而过滤器将更改已保存的值。您还可以使用JFilterInput中的任何可用过滤器。
如果为字段指定与当前表对象中的字段相同的名称,则数据将自动保存在该字段中。如果您使用名称与字段匹配的字段标记,则标记内列出的字段将作为该字段中的JSON字符串保存。
这几乎是基础知识,但还有更多。
对我来说一件重要的事情是,如果你使用JForm,默认过滤非常好,你有选择地允许html等,所以默认情况下它是非常安全的。