cancel
Showing results for 
Search instead for 
Did you mean: 

Creating new field in Catalog->Manage Categories->Display Settings

SOLVED
   Did you know you can see the translated content as per your choice?

Translation is in progress. Please check again after few minutes.

Creating new field in Catalog->Manage Categories->Display Settings

I'm trying to add a new field in the Display settings in Manage Categories. I found this tutorial on the web http://www.marketingadept.com/blog/magento-developers-add-a-custom-field-to-the-category-admin-page/

 

config.xml

  

 <?xml version="1.0" encoding="UTF-8"?>
    <config>
    <modules>
    <CmsBlock>
      
    <version>0.0.1</version>
    </CmsBlock>
    </modules>
    <global>
    <resources>
    <cmsblock_setup>
    <setup>
    <module>CmsBlock</module>
    <class>Mage_Catalog_Model_Resource_Eav_Mysql4_Setup</class>
    <connection>
    <use>core_setup</use>
    </connection>
    </setup>
    </cmsblock_setup>
    <cms_block_setup_write>
    <connection>
    <use>core_write</use>
    </connection>
    </cms_block_setup_write>
    <cms_block_setup_read>
    <connection>
    <use>core_read</use>
    </connection>
    </cms_block_setup_read>
    </resources>
    </global>
    </config>


**mysql4-install-0.0.1.php**

   

$installer = $this;
    $installer->startSetup();
    
    
    $entityTypeId     = $installer->getEntityTypeId('catalog_category');
    
    
    $attributeSetId   = $installer->getAttributeSetId($entityTypeId);
    
    $attributeGroupId = $installer->getAttributeGroupId($entityTypeId, $attributeSetId,5);
    
    $installer->addAttribute('catalog_category', 'cms_block',  array(
        'type'     => 'varchar', /* Type - see eav_entity_* for the different types */
        'label'    => 'CMS Block', /* Your label */
        'input'    => 'select', /* This refers to the type of form field should display*/
        'global'   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_STORE,
        'visible'           => TRUE,
        'required'          => FALSE,
        'user_defined'      => FALSE,
        'option'           => array('values'=> array('Option 1','Option 2'))
    ));
    
    $installer->addAttributeToGroup(
        $entityTypeId,
        $attributeSetId,
        $attributeGroupId,
        'cms_block',
        '52'
    );
    $installer->endSetup();



the installer script does run as I checked it in the core_resources table, but the field does not display on the Display Settings Tab. Can anyone help me with this?

1 ACCEPTED SOLUTION

Accepted Solutions

Re: Creating new field in Catalog->Manage Categories->Display Settings

Hello janers2015,

 

1. You add : 'group'    => "Display Settings"

 

$installer->addAttribute('catalog_category', 'cms_block', array(
'type' => 'varchar', /* Type - see eav_entity_* for the different types */
'label' => 'CMS Block', /* Your label */
'input' => 'select', /* This refers to the type of form field should display*/
'global' => Mage_Catalog_Model_Resource_Eav_Attribute:Smiley FrustratedCOPE_STORE,
'visible' => TRUE,
'required' => FALSE,
'user_defined' => FALSE,
'option' => array('values'=> array('Option 1','Option 2')),
'group' => 'Display Settings'
));

 

2. If still not working, you should follow this tutorial: http://www.boolfly.com/create-custom-attributes-in-magento/

If you want the type of input to be dropdown, you change install script by:

 

<?php
$installer = $this;

$installer->startSetup();

$attribute = array(

    'type'     => 'varchar',

    'label'    => 'CMS Block',

    'input'    => 'select',

    'global'   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,

    'visible'  => true,

    'required' => false,

    'user_defined' => true,

    'default'  => "",

    'option'   => array('values'=> array('Option 1','Option 2')),

    'group'    => "Display Settings"

);

$installer->addAttribute('catalog_category', 'external_link', $attribute);

$installer->endSetup();

 

Problem solved? Click Accept as Solution!

View solution in original post

2 REPLIES 2

Re: Creating new field in Catalog->Manage Categories->Display Settings

Hello janers2015,

 

1. You add : 'group'    => "Display Settings"

 

$installer->addAttribute('catalog_category', 'cms_block', array(
'type' => 'varchar', /* Type - see eav_entity_* for the different types */
'label' => 'CMS Block', /* Your label */
'input' => 'select', /* This refers to the type of form field should display*/
'global' => Mage_Catalog_Model_Resource_Eav_Attribute:Smiley FrustratedCOPE_STORE,
'visible' => TRUE,
'required' => FALSE,
'user_defined' => FALSE,
'option' => array('values'=> array('Option 1','Option 2')),
'group' => 'Display Settings'
));

 

2. If still not working, you should follow this tutorial: http://www.boolfly.com/create-custom-attributes-in-magento/

If you want the type of input to be dropdown, you change install script by:

 

<?php
$installer = $this;

$installer->startSetup();

$attribute = array(

    'type'     => 'varchar',

    'label'    => 'CMS Block',

    'input'    => 'select',

    'global'   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,

    'visible'  => true,

    'required' => false,

    'user_defined' => true,

    'default'  => "",

    'option'   => array('values'=> array('Option 1','Option 2')),

    'group'    => "Display Settings"

);

$installer->addAttribute('catalog_category', 'external_link', $attribute);

$installer->endSetup();

 

Problem solved? Click Accept as Solution!

Re: Creating new field in Catalog->Manage Categories->Display Settings

can u tell me in which file do i have to write this code ?