一次运行magento update脚本以创建属性

时间:2017-06-16 07:32:53

标签: php mysql magento

我在Magento后端的管理目录类别视图中使用缩略图上传时遇到问题。由于我更新到1.9.3.1我再也无法上传图片了。出现上传按钮,但传输的数据仍然没有显示在后端。

我发现,模块xml_connect负责创建缩略图属性(这个模块对此负责的原因),否则传输的缩略图数据显然会被丢弃。

在模块的install-1.6.0.0.php中,我找到(以及其他)以下内容

$installer->addAttribute('catalog_category', 'thumbnail', array(
   'type' => 'varchar',
   'label' => 'Thumbnail Image',
   'input' => 'image',
   'backend' => 'catalog/category_attribute_backend_image',
   'required' => false,
   'sort_order' => 4,
   'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
   'group'=> 'General Information'
));

如果已经运行,则图片上传工作。

在我的情况下,它有点特别。在早期的Magento版本中,似乎xml_connect模块已经启用,因为我的数据库中有xml_connect表。在当前版本中,xml_connect未启用,因此我尝试删除xml_connect的模块条目以重新运行安装脚本。但是在sql update脚本上失败,导致表已经存在...如果我删除所有xml_connect表,它可以正常工作并且可以上传缩略图。

所以实际上我通过重新激活模块并删除之前的表来获得解决方案。但实际上,在生产系统上这样做是不切实际的......

我发现另一个页面显示了一个解决方案,通过手工收集属性id的几个SQL查询...我认为这也很容易出错......

所以我的问题。有没有办法在没有具体模块的上下文的情况下在'once'上面运行installer-> addAttribute代码?还有另一种在数据库中获取缩略图属性的好方法吗?

由于

0 个答案:

没有答案