Thêm một thuộc tính thể loại bổ sung dưới tab thông tin chung


10

Tôi đang cố gắng thêm một attrbiute danh mục bổ sung vào tab thông tin chung, tôi đã thử thêm rằng sử dụng mã sau đây,

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

Điều này chỉ hoạt động tốt nhưng điều này đang thêm một tab thông tin bổ sung có tên Generalbên phải general infomation tabtôi đã thử thêm nó vào tab đầu tiên bằng cách sử dụng attributeGroupIdset thành 4 nhưng sau khi kiểm tra thì nó chỉ bị sập trang web.

Bất kỳ ý tưởng làm thế nào tôi có thể thêm thuộc tính đó vào tab đầu tiên.

Câu trả lời:


7

Hãy thử nó như thế này:

$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 phải là ví dụ của Mage_Catalog_Model_Resource_Setup.

Hơi lạc đề một chút: Tôi khuyên bạn nên thêm tập lệnh này vào tệp cập nhật của một trong các mô-đun của bạn thay vì tạo một phiên bản Mage::app()và chạy nó 'một cách nhanh chóng'. Nếu bạn đặt nó trong một kịch bản nâng cấp, nó sẽ di động sang các phiên bản khác.


Cảm ơn câu trả lời của bạn nhưng sau khi chạy nó, tôi nhận được lỗi máy chủ trên trang web.
ravisoni

lỗi gì bạn nhận được? Tôi chỉnh sửa câu trả lời. Có lẽ đó là vấn đề.
Marius

các tệp nhật ký không có gì mà tệp báo cáo đang nói. "Không tìm thấy bảng cơ sở hoặc chế độ xem: 1146 Bảng 'wwwinsta_Joyevincent.catalog_carget_entity_tinyint' không tồn tại"
ravisoni

Okzz điều này đã làm việc thêm ngày attr trong tab thông tin chung nhưng tôi đang cố gắng thêm có / Không loại attr có ý tưởng nào cho điều đó không?
ravisoni

2
Tôi nghĩ bạn nên làm một bài đăng với tất cả các câu hỏi bạn có về điều này. Không có lý do nào để thảo luận về câu hỏi của người khác vì nó hơi lạc đề.
Marius

5

Tôi đã quản lý nó hoạt động theo cách mong đợi như thế này.

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

Cảm ơn


0

Bạn có thể tùy chỉnh có / không thuộc tính cho phần danh mục bằng cách sử dụng mã sau đây.

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

));

Vui lòng tham khảo hướng dẫn của tôi để giải thích từng bước và cấu trúc tệp. http://www.pearlbells.co.uk/add-custom-attribution-dropdown-carget-section-magento/

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.