Aggiungi un attributo di categoria extra nella scheda Informazioni generali


10

Sto provando ad aggiungere una categoria extra attrbiute alla scheda informazioni generali ho provato ad aggiungere che usando il seguente codice,

require_once("app/Mage.php");
Mage::app('default');
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);

$installer = new Mage_Eav_Model_Entity_Setup('core_setup');
$entityTypeId     = $installer->getEntityTypeId('catalog_category');
$attributeSetId   = $installer->getDefaultAttributeSetId($entityTypeId);
$attributeGroupId = $installer->getDefaultAttributeGroupId($entityTypeId, $attributeSetId);


$installer->addAttribute('catalog_category', 'nav_left',  array(
    'type'     => 'tinyint',
    'label'    => 'Show in left navgigation',
    'input'    => 'boolean',
    'global'   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'visible'           => true,
    'required'          => false,
    'user_defined'      => false,
    'default'           => 0
));

$installer->addAttributeToGroup(
    $entityTypeId,
    $attributeSetId,
    $attributeGroupId,
    'nav_left',
    '11'

//last Magento's attribute position in General tab is 10
);

$attributeId = $installer->getAttributeId($entityTypeId, 'nav_left');

$installer->run("
INSERT INTO `{$installer->getTable('catalog_category_entity_int')}`
(`entity_type_id`, `attribute_id`, `entity_id`, `value`)
    SELECT '{$entityTypeId}', '{$attributeId}', `entity_id`, '1'
        FROM `{$installer->getTable('catalog_category_entity')}`;
");

Funziona benissimo, ma sta aggiungendo una scheda di informazioni aggiuntive chiamata Generala destra di general infomation tabho provato ad aggiungerla alla prima scheda usando attributeGroupIdset su 4 ma dopo il test si sta solo bloccando il sito.

Qualche idea su come posso aggiungere quell'attributo alla prima scheda.

Risposte:


7

Provalo in questo modo:

$installer->addAttribute('catalog_category', 'nav_left', array(
    'group'         => 'General Information',
    'type'     => 'int',
    'label'    => 'Show in left navgigation',
    'input'    => 'boolean',
    'global'   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'visible'           => true,
    'required'          => false,
    'user_defined'      => false,
    'default'           => 0
)); 

EDIT
$installer deve essere un'istanza di Mage_Catalog_Model_Resource_Setup.

Un po 'fuori tema: ti consiglio di aggiungere questo script in un file di aggiornamento di uno dei tuoi moduli invece di creare un'istanza Mage::app()ed eseguirlo' al volo '. Se lo metti in uno script di aggiornamento, è portatile per altre istanze.


Grazie per la risposta, ma dopo aver eseguito questo sto ricevendo un errore del server sul sito.
Ravisoni,

che errore stai ricevendo? Ho modificato la risposta. Forse è questo il problema.
Marius

i file di log non contano nulla del file di report. "La tabella di base o la vista non sono state trovate: 1146 La tabella" wwwinsta_Joyevincent.catalog_category_entity_tinyint "non esiste"
Ravisoni,

Okzz, ha funzionato aggiungendo la data attr nella scheda informazioni generali ma sto provando ad aggiungere un tipo sì / no, non ne hai idea?
Ravisoni,

2
Penso che dovresti fare un post con tutte le domande che hai su questo. Non ha senso discuterne sulla domanda di qualcun altro perché è un po 'fuori tema.
Marius

5

L'ho gestito nel modo previsto in questo modo.

$installer->addAttribute('catalog_category', 'left_nav',  array(
    'group'    => 'General Information',
    'type'     => 'int',
    'label'    => 'Show in left navigation',
    'input'    => 'select',
    'global'   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
    'visible'           => true,
    'required'          => false,
    'user_defined'      => false,
    'default'           => 0,
    'source' => 'eav/entity_attribute_source_boolean'
));

Grazie


0

È possibile personalizzare l'attributo sì / no nella sezione categoria utilizzando il seguente codice.

$this->addAttribute(Mage_Catalog_Model_Category::ENTITY, 'featured_product', array(
'group'         => 'General Information',
'input'         => 'select',
'type'          => 'text',
'label'         => 'Featured Product',
'backend'       => '',
'visible'       => true,
'required'      => false,
'visible_on_front' => true,
'global'        => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'source' => 'eav/entity_attribute_source_boolean',

));

Si prega di fare riferimento al mio tutorial per la spiegazione dettagliata e la struttura dei file. http://www.pearlbells.co.uk/add-custom-attribute-dropdown-category-section-magento/

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.