为Joomla3组件创建虚拟内容

时间:2014-12-07 18:08:53

标签: php mysql joomla3.0

我正在创建Joomla3组件,我需要在安装过程中创建一些虚拟内容,我知道我可以使用sql文件填充表,但这主要适用于特定于我的组件的自定义创建表。当我想在#__content表中添加内容时出现问题,'alias'列不被视为唯一,并且如果有人尝试多次安装组件,则可能会出现重复的条目。 我想知道在#__content表中插入记录的最佳方法是什么,而不必担心像重复条目那样的附带损害。 谢谢大家!

1 个答案:

答案 0 :(得分:1)

解决方案1: 您可以使用INSERT IGNORE,以便在多次安装扩展程序时不会出现重复条目​​。

解决方案2: 在Joomla中,有一个组件可以拥有的脚本文件。

因此,当安装扩展时,更新/卸载joomla触发器或调用扩展脚本文件中可用的某些预定义功能,如安装,更新,预检,postflight等。

您可以在扩展脚本中添加install method并在此方法上执行此sql文件,以便在扩展更新案例中不会调用此文件

解决方案3: 您可以在数据库中为此任务维护一个单独的表,当您执行此虚拟内容创建时,您可以在数据库中标记此内容,并且您可以在启动虚拟内容创建之前检查此步骤是否已经完成,以便在有人安装时此扩展多次执行此检查将阻止同一任务一次又一次地执行。