Rimuovi attributo categoria


8

Ho inserito 2 attributi di categoria usando un modulo con il file mysql4-install-0.1.0.phpin una cartella 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();

Come posso eliminarli ora. Ho provato a inserire questo nel file sql, come suggerito in altre risposte:

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

Ma non succede nulla. Devo creare un altro modulo?

Risposte:


14

Devi creare uno script di aggiornamento diverso.
Se lo script di installazione ha la versione, 0.1.0crea il file upgrade-0.1.0-0.1.1.phpcon questo contenuto:

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

Quindi vai a config.xmle modifica il versiontag da 0.1.0a 0.1.1.

Svuota la cache e aggiorna qualsiasi pagina.

Come nodo laterale ... non utilizzare $installer->startSetup();negli script di installazione / aggiornamento che rimuovono i dati. Chiamandolo, disabilita i controlli di chiave esterna e potresti finire con i dati di zombi nel tuo db.


Questo ha funzionato perfettamente su una versione 1.9. Ma devo farlo anche su una versione 1.5 di Magento e non elimina il campo dal backend. Cache cancellata ovviamente. Potrebbe essere una configurazione che lo sta bloccando? o qualcosa di specifico per 1.5?
Claudiu Creanga,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.