最近我创建了自定义magento扩展,我想发布它,但我发现安装文件没有安装。
安装文件未创建表。
我在config.xml中有以下代码
<?xml version="1.0" ?>
<config>
<modules>
<Tricore_Contactus>
<version>1.0.0</version>
</Tricore_Contactus>
</modules>
.
.
.
</config>
我在扩展名sql \ contactus_setup文件夹中创建了mysql4-install-1.0.0.php文件,代码如下。
$installer = $this;
$installer->startSetup();
$installer->run("
INSERT INTO ".Mage::getConfig()->getTablePrefix()."core_email_template VALUES
(NULL, 'Tricore Contact us', 'Name: {{var data.name}}\r\nE-mail: {{var data.email}}\r\nTelephone: {{var data.mobilenumber}}\r\n\r\nComment: {{var data.message}}', NULL, 1, 'Contact Form', NULL, NULL, NULL, '2013-04-23 11:04:45', 'contacts_email_email_template', '{\"var data.name\":\"Sender Name\",\"var data.email\":\"Sender Email\",\"var data.telephone\":\"Sender Telephone\",\"var data.comment\":\"Comment\"}'),
(NULL, 'Tricore Auto Respond', 'Dear {{var data.name}}\r\n\r\nWe have got your submitted information.\r\n\r\nE-mail: {{var data.email}}\r\nelephone: {{var data.mobilenumber}}\r\n\r\nComment: {{var data.message}}\r\n\r\nOur representative will respond you soon.\r\n', NULL, 1, 'Autoreply ', NULL, NULL, NULL, '2013-04-23 11:07:46', 'contacts_email_email_template', '{\"var data.name\":\"Sender Name\",\"var data.email\":\"Sender Email\",\"var data.telephone\":\"Sender Telephone\",\"var data.comment\":\"Comment\"}');
");
$installer->endSetup();
当扩展安装时,将条目添加到core_resource表中,但它不会将reocrd插入core_email_template表。
有时它不会调用mysql4-install-1.0.0.php文件。enter code here
请帮忙。
由于
答案 0 :(得分:2)
你发布的所有内容似乎都是正确的。 所以也许你忘了以下http://www.magentocommerce.com/knowledge-base/entry/magento-for-dev-part-6-magento-setup-resources
在你的情况下,xml将是:
<global>
<!-- ... -->
<resources>
<contactus_setup>
<setup>
<module>Tricore_Contactus</module>
<class>Mage_Eav_Model_Entity_Setup</class>
</setup>
</contactus_setup>
<contactus_write>
<connection>
<use>core_write</use>
</connection>
</contactus_write>
<contactus_read>
<connection>
<use>core_read</use>
</connection>
</contactus_read>
</resources>
<!-- ... -->
</global>
另见旁注: 为了调试那些我在mysql4 -... php的底部添加一个骰子(“SQL-SCRIPT IS RUNNING”),所以我可以肯定,代码至少被执行 - 如果sql只是没有得到应用,我可以点击F5直到它工作(与改变core_resources条目一直相比)..如果“die”没有显示你可以肯定,你的xml是问题