เพิ่มแอตทริบิวต์หมวดหมู่พิเศษภายใต้แท็บข้อมูลทั่วไป


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 tabi ได้ลองเพิ่มไปยังแท็บแรกโดยใช้attributeGroupIdset เป็น 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
)); 

แก้ไขจะต้องเป็นตัวอย่างของ
$installerMage_Catalog_Model_Resource_Setup

ปิดหัวข้อเล็กน้อย: ฉันขอแนะนำให้เพิ่มสคริปต์นี้ในไฟล์อัปเดตของหนึ่งในโมดูลของคุณแทนที่จะสร้างอินสแตนซ์Mage::app()และเรียกใช้งาน 'ทันที' หากคุณใส่ไว้ในสคริปต์อัพเกรดมันสามารถพกพาไปยังอินสแตนซ์อื่น ๆ ได้


ขอบคุณสำหรับคำตอบของคุณ แต่หลังจากทำงานนี้ฉันได้รับข้อผิดพลาดของเซิร์ฟเวอร์ในเว็บไซต์
ravisoni

คุณได้รับข้อผิดพลาดอะไร ฉันแก้ไขคำตอบ บางทีนั่นอาจเป็นปัญหา
Marius

ไฟล์บันทึกไม่มีสิ่งใดที่ไฟล์รายงานกำลังพูด "ไม่พบตารางพื้นฐานหรือมุมมอง: 1146 ตาราง 'wwwinsta_Joyevincent.catalog_category_entity_tinyint' ไม่มีอยู่"
ravisoni

Okzz ใช้งานได้แล้วเพิ่มวันที่ attr ในแท็บข้อมูลทั่วไป แต่ฉันพยายามเพิ่มใช่ / ไม่ใช่ประเภท 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.