Додайте атрибут додаткової категорії на вкладці "Загальна інформація"


10

Я намагаюся додати додаткову категорію, що впливає на загальну вкладку інформації, я спробував додати, що, використовуючи наступний код,

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')}`;
");

Це просто працює добре, але це додавання додаткової інформації вкладку, названу Generalправоруч від general infomation tabя спробував додати її до першої вкладки, використовуючи attributeGroupIdвстановлений на 4, але після тестування це просто збій сайту.

Будь-яка ідея, як я можу додати цей атрибут до першої вкладки.

Відповіді:


7

Спробуйте так:

$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 повинен бути екземпляром Mage_Catalog_Model_Resource_Setup.

Трохи поза темою: рекомендую додати цей скрипт у файл оновлення одного з ваших модулів замість того, щоб робити екземпляр Mage::app()та запускати його "на льоту". Якщо ви помістите його в сценарій оновлення, він переноситься для інших примірників.


Дякую за вашу відповідь, але після запуску цього я отримую помилку на сервері на сайті.
ravisoni

яку помилку ви отримуєте? Я відредагував відповідь. Можливо, в цьому і проблема.
Маріус

Файли журналів не контактують з файлами звітів. "Базовий стіл або представлення не знайдено: 1146 Таблиця 'wwwinsta_Joyevincent.catalog_category_entity_tinyint' не існує"
ravisoni

Okzz це працювало, додаючи дату attr на загальній інформаційній вкладці, але я намагаюся додавати так / ні вводити attr будь-яку ідею для цього?
ravisoni

2
Я думаю, вам слід краще написати повідомлення з усім питанням, яке ви маєте з цього приводу. Немає сенсу обговорювати це над чужим питанням, оскільки це трохи поза темою.
Маріус

5

Мені вдалося це працювати очікуваним чином, як це.

$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'
));

Дякую


0

Ви можете налаштувати атрибут так / ні для розділу категорії, використовуючи наступний код.

$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',

));

Будь ласка, зверніться до мого підручника для покрокового пояснення та структури файлів. http://www.pearlbells.co.uk/add-custom-attribute-dropdown-category-section-magento/

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.