Hapus atribut kategori

8

Saya menyisipkan 2 atribut kategori menggunakan modul dengan file mysql4-install-0.1.0.phpdi folder 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();

Bagaimana saya bisa menghapusnya sekarang. Saya mencoba memasukkan ini dalam file sql, seperti yang disarankan dalam jawaban lain:

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

Tetapi tidak ada yang terjadi. Haruskah saya membuat modul lain?

Claudiu Creanga
sumber

Jawaban:

14

Anda perlu membuat skrip pemutakhiran yang berbeda.
Jika skrip instal, versi 0.1.0buat file upgrade-0.1.0-0.1.1.phpdengan konten ini:

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

Lalu pergi ke config.xmldan ubah versiontag dari 0.1.0menjadi 0.1.1.

Bersihkan cache dan segarkan halaman apa pun.

Sebagai simpul samping ... jangan gunakan $installer->startSetup();di skrip instal / perbarui yang menghapus data. Sebut saja, menonaktifkan pemeriksaan kunci asing dan Anda mungkin berakhir dengan data zombie di db Anda.

Marius
sumber
Ini bekerja dengan sempurna pada versi 1.9. Tapi saya harus melakukannya di magento versi 1.5 juga dan itu tidak menghapus bidang dari backend. Cache yang dihapus tentu saja. Mungkinkah itu konfigurasi yang memblokir ini? atau sesuatu yang khusus untuk 1,5?
Claudiu Creanga