创建 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】:

记住&lt;/extension&gt; 应该在最后。不在两者之间。那应该是结束标签。您的代码应如下所示。

<?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 安装文件的主要内容,如果未能解决你的问题,请参考以下文章

如何将活动类添加到 Joomla K2 内容模块

Joomla!自定义模块

将对象从组件发送到模块 - Joomla

显示相同信息的两个不同的 joomla 模块

Joomla IF模块位置

Joomla 1.5模块