4

我正在使用 joomla 3.0 开发一个组件。我正在尝试在我的组件中添加表单。我看到 joomla 有用于在后端添加表单的 JHTML 类。

在前端创建表单的建议是什么。我应该使用 JHTML 还是干净的 html 标记?我在哪里可以找到该课程的文档。

4

1 回答 1

1

JForm JModelForm JControllerForm

在 Joomla 1.6 + 的数据库中保存数据的表单主要使用 JForm 包来管理表单(xml 或 xml 字符串)、字段(实际字段)和规则(验证)。

管理它的常规方法是扩展 JModelForm 和 JControllerForm。如果您查看核心,您会看到这些扩展在您可能没想到的地方,例如单个联系人视图,但基本上这是因为这些类提供了您在页面的任何部分管理表单所需的基本设置,即使其余的与表格无关。

或者,您始终可以创建一个新的 JForm 对象。

如果您有一个模型文件夹,通常您将有一个表单文件夹,然后如果需要字段和规则文件夹。后两者包含您的扩展可能需要的任何自定义字段或规则。在您的扩展中构建表单时,默认情况下会找到这些,但如果您希望从其他地方获得它们,则需要在表单 xml 中根据需要使用 addFieldPath 或 addRulePath 或 addFormPath 。

Jform 提供了一组标准的字段和规则以及一个标准的过滤器列表。规则意味着验证,而过滤器将更改保存的值。您还可以使用 JFilterInput 中可用的任何过滤器。

如果您为字段指定与当前表对象中的字段相同的名称,则数据将自动保存在该字段中。如果您使用名称与默认字段匹配的字段标签,则标签内列出的字段将保存为该字段中的 JSON 字符串。

这几乎是基础知识,虽然还有很多。

对我来说重要的一件事是,如果您使用 JForm,则默认过滤非常好,并且您有选择地允许 html 等,因此默认情况下它非常安全。

于 2013-05-16T00:37:00.137 回答