1 回答
TA贡献1789条经验 获得超8个赞
在 Ucs\CustomerAttribute\etc\module.xml 中将版本更改为 1.0.6
然后替换
if (version_compare($context->getVersion(), '1.0.6') < 0) {
和
if (version_compare($context->getVersion(), '1.0.6', '<')) {
编辑:只是为了确定..
我在 /app/code/vendor/modulename/Setup/UpgradeData.php 下创建了 UpgradeData.php 文件
你的意思是 app/code/Ucs/CustomerAttribute/Setup/UpgradeData.php ?
编辑2:
我假设你的机构叫做 Ucs。这就是我问过它的原因,因为这就是你的模块命名空间的建议。这不是推荐的做法,但为了安装程序验证的目的,将命名空间更改为:命名空间 vendor\modulename\Setup;
我推荐的是:
创建一个新模块或找到 app/code/[YOURCOMPANYNAME]/Customer - 尝试协调 Magento 原生模块。通过这种方式,您可以更轻松地管理代码、设计并且 Magento 不需要为每个功能加载单独的模块。
在 UpgradeData.php 中尝试为每个版本调用单独的函数。喜欢:
if (version_compare($context->getVersion(), '1.0.1', '<')) {
$this->addCustomerMyAttribute();
}
$setup->endSetup();
然后在下面
private function addCustomerMyAttribute($setup){
// Your code goes here
}
如果它是 app/code/[YOURCOMPANYNAME] 中 Customer 模块的第一个版本,请记住创建 InstallData.php 插入 UpgradeData.php(在这种情况下无需检查版本)。
bin/magento setup:upgrade检查eav_attribute新属性表后。
如果它在那里,请记住 bin/magento indexer:reindex 以便它转到平面表。如果它不在那里。将 ```die(var_dump('I'm running'); 放在upgrade函数的开头。
- 1 回答
- 0 关注
- 142 浏览
添加回答
举报
