创建 Joomla 模块 > 警告:JInstaller: :Install: 找不到 Joomla XML 安装文件
Posted
技术标签:
【中文标题】创建 Joomla 模块 > 警告:JInstaller: :Install: 找不到 Joomla XML 安装文件【英文标题】:Create Joomla Module > warning : JInstaller: :Install: Can't find Joomla XML setup file 【发布时间】:2021-01-03 02:46:05 【问题描述】:我通过在 joomla 网站上关注 tutorial 创建了 Joomla 模块,第一部分它可以工作,但是在我添加了关于 Creating a simple module/Using the Database 的教程的第二部分之后它就不起作用了。 我收到警告
JInstaller: :Install: 找不到 Joomla XML 安装文件。
第 2 部分教程基于第 1 教程。也许我在我的 XML 文件中做错了什么。 这是我的 XML 文件
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1.0" client="site" method="upgrade">
<name>Hello, World 2</name>
<author>Dhany</author>
<version>1.0.0</version>
<description>Belajar Module 2</description>
<files>
<folder>sql</folder>
<filename>mod_helloworld2.xml</filename>
<filename module="mod_helloworld">mod_helloworld2.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
</files>
<config>
</config>
</extension>
<install>
<sql>
<file driver="mysql" charset="utf8">sql/mysql/install.mysql.utf8.sql</file>
</sql>
</install>
<uninstall>
<sql>
<file driver="mysql" charset="utf8">sql/mysql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<update>
<schemas>
<schemapath type="mysql">sql/mysql/updates</schemapath>
</schemas>
</update>
你可以下载我的完整模块here
感谢您的帮助
【问题讨论】:
如果您正在做 Joomla 开发,那么您应该在 Joomla Stack Exchange 上注册一个帐户。每当您有与 Joomla 直接相关的问题或将受益于对 CMS 及其扩展有深入了解的社区的支持时,您应该在 JSE 而不是 Stack Overflow 上发布您的问题。在 JSE 注册后,您可能希望将此问题标记为由版主从此处迁移到 JSE。 【参考方案1】:记住</extension>
应该在最后。不在两者之间。那应该是结束标签。您的代码应如下所示。
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1.0" client="site" method="upgrade">
<name>Hello, World 2</name>
<author>Dhany</author>
<version>1.0.0</version>
<description>Belajar Module 2</description>
<files>
<folder>sql</folder>
<filename>mod_helloworld2.xml</filename>
<filename module="mod_helloworld">mod_helloworld2.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<filename>tmpl/default.php</filename>
<filename>tmpl/index.html</filename>
</files>
<config>
</config>
<install>
<sql>
<file driver="mysql" charset="utf8">sql/mysql/install.mysql.utf8.sql</file>
</sql>
</install>
<uninstall>
<sql>
<file driver="mysql" charset="utf8">sql/mysql/uninstall.mysql.utf8.sql</file>
</sql>
</uninstall>
<update>
<schemas>
<schemapath type="mysql">sql/mysql/updates</schemapath>
</schemas>
</update>
</extension>
注意:我还注意到您的updates
是一个文件而不是文件夹。请记住它应该是一个文件夹。
【讨论】:
谢谢,它有效,我将扩展标签移至文件末尾。但是关于 SCHEMAPATH 上的“sql/mysql/updates”文件夹虽然它已成功安装,但它给了我警告说“JFolder: :files: Path is not a folder. Path: /mnt/data/vhosts/casite-1278786.cloudaccess. net/httpdocs/modules/mod_helloworld/sql/mysql/updates”,我检查了我的 Zip 模块文件中的文件夹,没有问题。文件夹 sql/mysql/updates 确实存在。 您先卸载了之前的组件,或者只是升级了它。 我做了,卸载并重新安装它,它仍然给出相同的结果,它说JFolder: :files: Path is not a folder. Path: D:\XamppInstalation\htdocs\joomla\modules\mod_helloworld2\sql\mysql\updates
也许你可以帮我检查一下我的模块ZIP是否有问题mod_helloworld2.zip以上是关于创建 Joomla 模块 > 警告:JInstaller: :Install: 找不到 Joomla XML 安装文件的主要内容,如果未能解决你的问题,请参考以下文章