【问题标题】:Joomla dummy data importJoomla 虚拟数据导入
【发布时间】:2015-02-06 11:55:51
【问题描述】:

最近我开始为 Joomla3 开发一个扩展,我有一种严重的感觉,我缺少一些关于导入功能的基本内容。我知道可以使用 .sql 文件导入一些虚拟数据,但这主要适用于仅针对此扩展的自定义创建的表。 但是,如果我想在 Joomla 核心表中插入一些数据,例如 #__content、#__menu、$__modules 怎么办?使用 .sql 文件仍然可以做到这一点,但是我必须小心不要覆盖某些内容,不要创建双重条目,不要与其他表创建关系等等。这是一个相当复杂的过程并且容易出错,在 WordPress 中这个功能非常简单,我认为 Joomla 也有这样的选项,但我找不到它。 我将不胜感激任何提示和技巧:)

【问题讨论】:

  • 在干净的 Joomla 安装中,有一个安装示例数据的选项。您是否正在尝试将示例数据安装到已开发的网站中?
  • 开发的扩展将安装在各种网站上,因此在大多数情况下已经存在现有内容。我需要为我的扩展程序创建额外的内容,用户可以在其中检查它是如何正常工作的。
  • 只要你做 INSERT 语句,你应该没问题。不要设置 ID,Joomla 会在运行插入时自动递增。不过,我建议编写一个安装脚本,允许用户安装示例数据,或者如果他们不想拥有它,可以跳过它。
  • 现在我正在使用提到的 INSERT 方法(带有额外的 IGNORE 指令),但令我惊讶的是 #__content 表中的“别名”列未设置为唯一。因此,我可能会添加具有相同别名的冗余文章,并且不会出现任何错误。当用户尝试编辑创建的文章时,这当然会在以后引起问题。由于这些问题,我认为在 Joomla 上有一种更简单的方法。
  • No no no 不要为此使用 sql,为每个表使用正确的 API,否则您将遇到嵌套集和资产问题。在飞行后脚本中执行此操作。

标签: php mysql joomla joomla3.0 joomla-extensions


【解决方案1】:

好的,多亏了 Elin 的评论,我似乎找到了解决方案。 需要在PHP代码中使用JTable类以编程方式添加文章,来源:https://zunostudios.com/blog/development/204-using-the-joomla-api-to-add-articles-programmatically

【讨论】:

    猜你喜欢
    • 2010-11-06
    • 2011-05-13
    • 2021-09-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-28
    • 2016-08-08
    • 1970-01-01
    相关资源
    最近更新 更多