일반 정보 탭에서 추가 카테고리 속성 추가


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

어떤 오류가 발생합니까? 나는 대답을 편집했다. 아마도 그게 문제 일 것입니다.
Marius

로그 파일에는 보고서 파일이 말한 내용이 없습니다. "기본 테이블 또는 뷰를 찾을 수 없음 : 1146 'wwwinsta_Joyevincent.catalog_category_entity_tinyint'테이블이 없습니다"
ravisoni

Okzz 이것은 일반 정보 탭에서 날짜 attr을 추가하는 데 효과적이지만 yes / No 유형 attr을 추가하려고 시도하고 있습니까?
ravisoni

2
나는 당신이 이것에 관한 모든 질문으로 게시물을 더 잘 만들어야한다고 생각합니다. 주제가 조금 다르기 때문에 다른 사람의 질문에 대해서는 토론 할 필요가 없습니다.
Marius

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/

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.