php – 从magento模块创建一个新表
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了php – 从magento模块创建一个新表,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2853字,纯文字阅读大概需要5分钟。
内容图文
![php – 从magento模块创建一个新表](/upload/InfoBanner/zyjiaocheng/696/dd7f8a16309142e8b6e7a0a05314988b.jpg)
我正在尝试拥有一个管理模块,我正在努力在数据库中创建一个新表.我已经设置了什么
应用程序/代码/本地/富/酒吧/ SQL / mysql4安装,0.1.0.php
<?php
$installer = $this;
$installer->startSetup();
$installer->run("
DROP TABLE IF EXISTS {$this->getTable('notes')};
CREATE TABLE {$this->getTable('notes')} (
`ppr_id` int(11) NOT NULL AUTO_INCREMENT,
`notesku` bigint(20) NOT NULL,
`notestatus` smallint(16),
PRIMARY KEY (`notes`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8
");
$installer->endSetup();
这在app / code / local / Foo / BAR / etc / config.xml中
<?xml version="1.0"?>
<config>
<modules>
<Foo_BAR>
<version>0.1.0</version>
</Foo_BAR>
</modules>
<global>
<models>
<BAR>
<class>Foo_BAR_Model</class>
<resourceModel>BAR_mysql4</resourceModel>
</BAR>
<BAR_myslq4>
<class>Foo_BAR_Model_Mysql4</class>
<entities>
<BAR>
<table>notes</table>
</BAR>
</entities>
</BAR_myslq4>
</models>
<resources>
<BAR_setup>
<setup>
<module>Foo_BAR</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</BAR_setup>
<BAR_write>
<connection>
<use>core_write</use>
</connection>
</BAR_write>
<BAR_read>
<connection>
<use>core_read</use>
</connection>
</BAR_read>
</resources>
</global>
<admin>
<routers>
<BAR>
<use>admin</use>
<args>
<module>Foo_BAR</module>
<frontName>bar</frontName>
</args>
</BAR>
</routers>
</admin>
<adminhtml>
<menu>
<catalog>
<children>
<BAR_menu translate="title" module="BAR">
<title>BAR</title>
<children>
<list translate="title" module="BAR">
<title>Bar</title>
<action>bar/index/index</action>
</list>
</children>
</BAR_menu>
</children>
</catalog>
</menu>
</adminhtml>
</config>
我正在使用的案例匹配此示例,其中我的公司大写,模块名称全部为大写.我想也许是在绊倒我?我的理解是,一旦我运行命中该模块的页面,它将触发该mysql来创建表.那是对的吗?还有什么我应该做的吗?
我非常感谢任何帮助.
解决方法:
如果没有运行安装/升级脚本,请检查以下内容:
> Magento是否正在加载您的模块?转到系统>配置>高级>高级并查看您的模块是否出现在“禁用模块输出”列表中.如果没有,Magento根本不加载您的模块,因此不会运行任何设置脚本.正如Cags在他的评论中指出的那样,你需要app / etc / modules中的xml文件告诉Magento加载你的模块,如果你还没有创建模块的话.
>确保您的资源在config.xml文件中的正确位置声明.它们应该在< global>里面标签(在您的情况下,这似乎是正确的).
>确保您的设置文件位于正确的位置.它们应该位于模块内的sql /文件夹中.我认为这是你的问题,这个例子中的安装文件应该是app / code / local / Foo / BAR / sql / BAR_setup / mysql4-install-0.1.0.php
>检查了上述所有内容后,如果你有一个IDE设置用于调试(如果你正在做任何严肃的Magento工作,帮自己一个忙,并获得一个),在安装文件中设置一个断点并确保它是被击中
>检查数据库中的core_resource表以获取BAR_setup条目.如果它在那里,Magento已经运行了一次安装脚本,并且不再运行它.如果需要再次运行安装脚本,请删除此记录.同样,如果您需要重新运行升级脚本,则可以更改版本号(但是如果您这样做,请确保了解第二次运行安装/升级脚本的后果).
如果一切都失败,请查看Alan Storm’s guide to debugging Magento setup scripts.
内容总结
以上是互联网集市为您收集整理的php – 从magento模块创建一个新表全部内容,希望文章能够帮你解决php – 从magento模块创建一个新表所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。