我尝试为Joomla 3.1.5创建简单模块
模块安装没有问题,但sql安装文件中的代码被忽略。当我卸载模块时,卸载脚本工作。
我的instalaction代码
CREATE TABLE IF NOT EXISTS `#__mylist_songs`(
`song_id` int(11) not null auto_increment PRIMARY KEY,
`name` varchar(255) not null,
`author` varchar(150) not null
)Engine=MyIsam default charset=utf8;
CREATE TABLE IF NOT EXISTS `#__mylist_vote`(
`vote_id` int(11) not null auto_increment PRIMARY KEY,
`song_id` int(11) not null,
`ip` varchar(26),
`vote_date` datetime not null default '0000-00-00 00:00:00'
)Engine=MyIsam default charset=utf8;在模块xml中
<install>
<sql>
<file driver="mysql" charset="utf8">sql/mysql/install.mysql.utf8.sql</file>
</sql>
</install> <files>
<filename module="mod_mylist">mod_mylist.php</filename>
<filename>script.php</filename>
<folder>tmpl</folder>
<filename>helper.php</filename>
<filename>index.html</filename>
<filename>mod_mylist.xml</filename>
<filename>sql/mysql/install.mysql.utf8.sql</filename>
<filename>sql/mysql/uninstall.mysql.utf8.sql</filename>
<folder>sql</folder>
<folder>sql/mysql</folder>
<folder>sql/mysql/updates</folder>
</files>
<scriptfile>script.php</scriptfile>但在安装后,数据库中的模块并没有改变。当我在卸载sql脚本时有语法错误时,joomla显示错误,但当安装完成时没有错误。
我不明白为什么。路径是正确的我检查过了。
发布于 2013-10-04 13:59:12
尝尝这个,
<install>
<sql>
<file charset="utf8" driver="mysql">sql/mysql/install.sql</file>
</sql>
</install>
<uninstall>
<sql>
<file charset="utf8" driver="mysql">sql/mysql/uninstall.sql</file>
</sql>
</uninstall>并且install.sql文件应该包含该查询。还要确保DB用户具有添加新表的权限。对于more
希望这会有帮助..。
发布于 2013-10-04 16:36:02
尝试对您的XML使用以下内容:
<files>
<filename module="mod_mylist">mod_mylist.php</filename>
<filename>index.html</filename>
<filename>helper.php</filename>
<folder>tmpl</folder>
<folder>sql</folder>
</files>我删除了对实际SQL文件的引用,因为如果您在<install>标记中调用它们,则不需要定义它们,并清除它的其余部分。
https://stackoverflow.com/questions/19174168
复制相似问题