2013-03-07 17 views
8

Sto seguendo questo tutorial: http://www.atwix.com/magento/add-category-attribute/ Tutto funziona correttamente, gli attributi vengono aggiunti alle categorie, ma senza il pulsante WYSIWYG sotto il campo. WYSIWYG è abilitato in Sistema> Config> Gestione dei contenuti.Aggiungi attributo categoria con WYSIWYG abilitato

$this->startSetup(); 
$this->addAttribute('catalog_category', 'custom_att', array(
    'group'   => 'General', 
    'input'   => 'textarea', 
    'type'   => 'text', 
    'label'   => 'My attribute', 
    'backend'  => '', 
    'visible'  => true, 
    'required'  => false, 
    'wysiwyg_enabled' => true, 
    'visible_on_front' => true, 
    'is_html_allowed_on_front' => true, 
    'global'  => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, 
)); 
$this->endSetup(); 

Qualunque cosa provi, WYSIWYG non è abilitato per i miei attributi. Qualcuno può aiutare? O forse c'è una soluzione per questo?

EDIT: Ho cercato altri posti, ma tutti dicono che questo codice dovrebbe aggiungere il WYSIWYG:

'wysiwyg_enabled' => true, 

ma non è così.

+0

Assicurarsi che '$ this' è un'istanza di' Mage_Catalog_Model_Resource_Setup', non 'Mage_Eav_Model_Entity_Setup'. –

risposta

9

provato a compiere lo stesso compito oggi e la ricerca attraverso il codice di Magento è riuscito a completare il mio compito con questo codice:

$productEntityTypeId = $installer->getEntityTypeId('catalog_product'); 
$installer->addAttribute($productEntityTypeId, 'some_text', array(
    'group'   => 'General', 
    'input'   => 'textarea', 
    'type'   => 'text', 
    'label'   => 'Some Text', 
    'backend'  => '', 
    'visible'  => true, 
    'required'  => false, 
    'visible_on_front' => true, 
    'global'  => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, 
)); 
$installer->updateAttribute($productEntityTypeId, 'some_text', 'is_wysiwyg_enabled', 1); 
$installer->updateAttribute($productEntityTypeId, 'some_text', 'is_html_allowed_on_front', 1); 
6

Questo funziona:

$installer->updateAttribute('catalog_category', 'certifications', 'is_wysiwyg_enabled', 1); 
$installer->updateAttribute('catalog_category', 'certifications', 'is_html_allowed_on_front', 1); 
+0

Puoi fornire un po 'più di supporto per la tua risposta? Perché funziona? – pjmorse

5

Questo ha funzionato per me:

$installer->addAttribute('catalog_category', 'short_description', array(
    'type' => 'varchar', 
    'label' => 'Short Description', 
    'input' => 'textarea', 
    'default' => '', 
    'sort_order' => 1, 
    'required' => false, 
    'wysiwyg_enabled' => true, 
    'visible_on_front' => true, 
    'is_html_allowed_on_front' => true, 
    'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 
    'group' => 'General Information', 
)); 

Notare le seguenti tre voci:

'wysiwyg_enabled' => true, 
    'visible_on_front' => true, 
    'is_html_allowed_on_front' => true, 

Utilizzo di Magento CE 1.9.2.0.

+0

Questo ha funzionato per me, ma ho trovato ''type' => 'text'' è stato più utile per me perché varchar ha un limite di 255 caratteri. – jmargolisvt

+0

Ho dovuto usare '' 'is_wysiwyg_enabled''' affinchè questo funzioni – greatwitenorth

1

Creare file php nella directory principale Magento e incollare il codice qui sotto ed eseguirlo dal browser: -

ini_set('display_errors',0); 
require_once 'app/Mage.php'; 
Mage::app(); 

$setup = new Mage_Eav_Model_Entity_Setup('core_setup'); 


function createNewAttributeSet($name) { 
    Mage::app('default'); 
    $modelSet = Mage::getModel('eav/entity_attribute_set') 
    ->setEntityTypeId(4) // 4 == "catalog/product" 
    ->setAttributeSetName($name); 
    $modelSet->save(); 
    $modelSet->initFromSkeleton(4)->save(); // same thing 
} 

// Replace your attribute name with "extra_info" 

$setup->addAttribute('catalog_category', 'extra_info', array(
     'group'    => 'General Information', 
     'type'    => 'text', 
     'backend'   => '', 
     'frontend'   => '', 
     'label'    => 'Extra Information', 
     'wysiwyg_enabled' => true, 
     'visible_on_front' => true, 
     'is_html_allowed_on_front' => true, 
     'input'    => 'textarea', 
     'class'    => '', 
     'source'   => 'eav/entity_attribute_source_boolean', 
     'global'  => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE, 
     'visible'   => 1, 
     'required'   => 0, 
     'user_defined'  => 0, 
     'default'   => '', 
     'searchable'  => 0, 
     'filterable'  => 0, 
     'comparable'  => 0, 
     'visible_on_front' => 0, 
     'unique'   => 0, 
     'position'   => 1, 
)); 
$setup->updateAttribute('catalog_category', 'extra_info', 'is_wysiwyg_enabled', 1); 
$setup->updateAttribute('catalog_category', 'extra_info', 'is_html_allowed_on_front', 1); 
+0

man sei incredibile :) Grazie –

+0

Sei buono :) –