我从here举了一个例子。
我的文件夹结构是:
- Avq
- - Import
- - - ...
- - - etc
- - - - config.xml
- - - sql
- - - - avq_import_setup
- - - - - mysql4-install-0.1.0.php
我的config.xml是:
<?xml version="1.0"?>
<config>
<modules>
<Avq_Import>
<version>1.0.0.1</version>
</Avq_Import>
</modules>
<global>
<resources>
<avq_import_setup>
<setup>
<module>Avq_Import</module>
<class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
</setup>
<connection>
<use>core_setup</use>
</connection>
</avq_import_setup>
<avq_import_write>
<connection>
<use>core_write</use>
</connection>
</avq_import_write>
<avq_import_read>
<connection>
<use>core_read</use>
</connection>
</avq_import_read>
</resources>
</global>
</config>
和mysql4-install-0.1.0.php代码里面:
<?php
die("!");
$installer = $this;
//....
我甚至无法得到“!”。 错误可能在哪里? 有没有调试xml配置的方法?
PS:我关闭了缓存,使用了我的模块,并且core_resource表中没有 avq_import_setup 。
答案 0 :(得分:3)
您需要2件事来magento执行您的设置,首先在一个文件夹中,在您的情况下具有相同名称的节点是avq_import_setup,所以它是avq_import_setup / mysql4-install-xxxphp,看我把xxx放在文件名上,您必须通过模块的版本更改它,在您的情况下是1.0.0.1,而您的文件是0.1.0,它是第二件事。
并且完成后,这只执行一次,当magento在数据库上记录你的模块信息时它不会超过1次。
因此,如果您尝试安装模块并且不运行安装文件,那么magento可能已经在db上注册了您的模块,并且不再运行您的设置。在这种情况下,您必须转到'core_resource'表,找到您的模块并将其删除。现在您可以再次尝试安装。