0

这个问题可能有点特别。我正在使用这个 Joomla 2.5 扩展来让作者能够将附件添加到文章中:Joomla 附件

该扩展在后端表单中呈现一个名为“description”的输入字段,以插入所提供文件的文件描述。不幸的是,它没有采用我需要的 HTML 标签。通过保存表单,似乎 strip_tags() 或 preg_replace() 或类似的东西可以清理输入。我梳理了附件扩展的代码,但找不到清理或保存输入的地方。

希望留在 Stackoverflow 的问答规则中:

是否有一个扩展类继承自 Joomla Core 以将表单数据保存到 DB 表(也可以负责清理和验证用户输入)?

谢谢你的任何想法,

托尼

4

1 回答 1

0

您应该首先看到该字段是如何定义的:

1.表格定义

调查

administrator/component/yourcomponent/models/forms/somename.xml

在那里你可以找到一个表单定义,如果是这样,它还会指定字段类型:根据类型,有几个可用的过滤器;例如默认的 textarea 会去除 html,你需要设置

filter="raw"

为了启用它。有关字段列表,请参阅http://docs.joomla.org/Standard_form_field_and_parameter_types,单击您可以找到可用的格式选项。

2.型号

如果模型从 JModelAdmin 或 JModelForm 或其他 JModel* 继承,它将自动处理表单数据到数据库的绑定,查找应该接收表单 $data 的 Save 函数。

3. more 至少还有十几种可能性。如果上述方法没有帮助,请尝试查找表单:可能您只需查看标记即可找到它。获得表格后,请检查以下字段:

  • 选项
  • 任务
  • 看法

这应该可以帮助您找到基于表单调用的 php 代码:

  • 如果设置了视图,也许在 ./views/someview/view.html.php 中你可以找到保存逻辑。
  • 如果设置了任务,则在 ./controller.php 中查找具有相同名称的函数
  • 如果任务包含“.”,则在 ./controllers/ 文件夹中查找控制器。
  • 如果 option 不是您的组件的名称,则您的组件正在将数据发送到另一个组件进行保存,并且很可能设置了 return-url
于 2013-03-13T23:19:01.580 回答