Joomla模块-找不到SQL


Joomla module - SQL not found?

我在安装自己的第一个模块时遇到问题。我在joomla.org上学习了教程。几乎所有的东西看起来都很好。但是我的sql文件出现了一个错误。

sql文件的mod_helloworld.xml中的部分如下:

<install>
    <sql>
        <file driver="mysql" charset="utf8">sql/install.mysql.utf8.sql</file>
    </sql>
</install>

当我尝试上传模块(作为zip文件)时,Joomla显示了这个错误:

JInstaller::Install:SQL文件"pathTo Modules/Modules/mod_helloworld/SQL/Install.mysql.utf8.SQL"未找到(消息翻译为英语)。

原因可能是什么?所有文件都使用不带BOM的UTF8。

该文件位于mod_helloworld/sql/

这是一个很好的问题,让我来解释一下。

install XML标记包含执行命令和不复制文件的指令。因此,当Joomla执行XML清单文件(mod_helloworld.xml文件)并到达install XML标记时,它假设服务器上已经存在sql/install.mysql.utf8.sql文件并尝试执行它,但该文件没有复制到服务器,因为我们在XML文件的早期没有告诉Joomla将其复制到服务器。

您应该做的是将以下内容添加到XML文件中:

<files>
    <folder>sql</folder>
</files>

以上操作将确保sql文件夹被复制到服务器,从而允许Joomla继续执行SQL安装命令。

我真的希望我能清楚地解释这个问题,因为Joomla的文件没有提到这一点(据我所知)。