【发布时间】:2017-10-24 14:22:13
【问题描述】:
通常当您想要卸载或安装组件、包、插件或模块时,您通常在 Joomla 管理界面中手动执行此操作。
在这种情况下,我正在寻找一种直接从 PHP(在 Joomla 框架内)以编程方式卸载和安装组件或包的方法,可能来自系统插件。
所以基本上我想以编程方式启动软件包的卸载和安装过程,以便卸载和安装所有组件、模块、插件等,就像通常通过卸载和安装来卸载和安装一样从 Joomla 管理员中手动打包。
谁能给我一个提示,我将如何实现这一点,最好使用 Joomla 的核心类特定功能。
我试图通过搜索各种 Joomla 文档来找到有关此的信息,但到目前为止没有运气。
更新 我已经找到了从 Joomla 管理员安装和卸载扩展时使用的核心模型文件。
我在这个类文件中找到了一个可以用来从插件中卸载扩展的函数: /administrator/components/com_installer/models/manage.php
函数是:“remove($eid = array())”作为类的一部分:“InstallerModelManage”扩展“InstallerModel”
我还在这个类文件中找到了一个用于从插件安装扩展的函数: /administrator/components/com_installer/models/install.php
函数是:“install()”作为类的一部分:“InstallerModelInstall”,它扩展了“JModelLegacy”
现在我只需要找到将这些函数包含在我的插件文件中的最佳(正确)方法,以便我可以执行 remove($eid = array()) 和 install()
【问题讨论】:
标签: joomla3.0 joomla-extensions