【问题标题】:Understanding where data is saved in Joomla text field from the XML File从 XML 文件了解数据在 Joomla 文本字段中的保存位置
【发布时间】:2016-08-28 02:12:14
【问题描述】:

我是 Joomla 开发的新手,想了解 Joomla 如何将来自文本字段的数据存储在 xml 文件中。 据我从 Joomla Docs 了解到,数据存储在名为 modules 的表中的 Json 文件中(如果您使用模块。)

假设我创建了一个带有文本字段的插件,我会将这段代码输入到 xml 文件中:

<field name="mytextvalue" type="text" default="Some text" label="Enter some text" description="" size="10" />

要显示值,我会在主 php 中执行以下操作:

$mytextvalue = $params->get('mytextvalue');

和帮助文件:

echo "$params->get('mytextvalue') ";

像这样简单,数据存储在 Joomla 中并给出值 mytextvalue 的输出。

现在,我没有设置数据库表来存储这些数据。数据在哪里?我什至需要将数据存储在自定义数据库表中吗?如果需要,我为什么要这样做?

【问题讨论】:

  • 据我所知,您只需将数据存储在组件中的数据库中,对于简单的模块和插件,您不需要在数据库中存储任何内容,因为 joomla 会以最好的方式为您做到这一点,无论如何#__extensions 是插件和存储数据的位置,xml 中的字段是插件的设置,没有需要收集和存储的数据类型

标签: joomla joomla3.0


【解决方案1】:

所有扩展数据都以 json 格式存储在#__extensions 表的 params 列中。例如,让我们检查 Joomla 配置文件插件如何保存参数数据。如果你去#__extensions,你会得到一个名为plg_user_profile的插件。转到edit,你会发现params列在那里存储了这样的插件参数数据

{"register-require_address1":"1","register-require_address2":"1","register-require_city":"1","register-require_region":"1","register-require_country":"1","register-require_postal_code":"1","register-require_phone":"1","register-require_website":"1","register-require_favoritebook":"1","register-require_aboutme":"1","register-require_tos":"2","register_tos_article":"","register-require_dob":"1","profile-require_address1":"1","profile-require_address2":"1","profile-require_city":"1","profile-require_region":"1","profile-require_country":"1","profile-require_postal_code":"1","profile-require_phone":"1","profile-require_website":"1","profile-require_favoritebook":"1","profile-require_aboutme":"1","profile-require_dob":"1"}

可以使用您已经知道的方法检索此数据。该数据具有带有值的键。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-06-03
    • 2018-09-21
    • 1970-01-01
    • 1970-01-01
    • 2020-04-15
    • 2023-03-14
    • 1970-01-01
    相关资源
    最近更新 更多