删除类别属性


8

我使用一个模块将2个类别属性插入mysql4-install-0.1.0.php到sql文件夹中的文件中:

$installer = $this;

$installer->startSetup();

$installer->addAttribute('catalog_category', 'short_description', array(
    'type'          => 'text',
    'label'         => 'Short Description',
    'input'         => 'textarea',
    'group'         => 'General',
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'visible'       => true,
    'required'      => false
));
$installer->addAttribute('catalog_category', 'static_block', array(
    'type'          => 'text',
    'label'         => 'Brand',
    'input'         => 'text',
    'group'         => 'General',
    'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'visible'       => true,
    'required'      => false
));

$this->endSetup();

现在如何删除它们。我尝试将其插入sql文件中,如其他答案所示:

$installer = $this;
$installer->startSetup();
$installer->removeAttribute('catalog_category', 'short_description');
$installer->removeAttribute('catalog_category', 'static_block');
$installer->endSetup();

但是什么也没发生。我应该创建另一个模块吗?

Answers:


14

您需要创建其他升级脚本。
如果安装脚本具有版本0.1.0,请upgrade-0.1.0-0.1.1.php使用以下内容创建文件:

$installer = $this;
$installer->removeAttribute('catalog_category', 'short_description');
$installer->removeAttribute('catalog_category', 'static_block');

然后转到config.xml并将version标记从更改0.1.00.1.1

清除缓存并刷新任何页面。

作为副节点...请勿$installer->startSetup();在删除数据的安装/升级脚本中使用。调用它会禁用外键检查,您可能最终在数据库中得到僵尸数据。


这在1.9版上无法正常工作。但是我也必须在magento 1.5版上执行此操作,并且它不会从后端删除该字段。当然删除缓存。可能是阻止此配置的配置吗?或特定于1.5的东西?
Claudiu Creanga 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.