Genel bilgi sekmesi altına fazladan bir kategori özelliği ekleyin


10

Ben genel bilgi sekmesine ekstra bir kategori attrbiute eklemeye çalışıyorum ben aşağıdaki kodu kullanarak eklemeyi denedim,

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

Bu sadece iyi çalışıyor ama bu Generalsadece sağda adlı bir ek bilgi sekmesi general infomation tabekleyerek attributeGroupId4 için set kullanarak ilk sekmeye eklemeyi denedim ama test ettikten sonra sadece site çöküyor.

Bu özelliği ilk sekmeye nasıl ekleyebilirim.

Yanıtlar:


7

Şöyle deneyin:

$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 örneği olmalıdır Mage_Catalog_Model_Resource_Setup.

Konu dışı biraz: Bu komut dosyasını, bir modül yapmak Mage::app()ve 'anında' çalıştırmak yerine modüllerinizden birinin güncelleme dosyasına eklemenizi öneririz . Bir yükseltme komut dosyasına koyarsanız, diğer örneklere taşınabilir.


Cevabınız için teşekkürler ama bu çalıştırdıktan sonra sitede sunucu hatası alıyorum.
ravisoni

ne hatası alıyorsun Cevabı düzenledim. Belki de sorun budur.
Marius

günlük dosyaları, rapor dosyasının söylediği hiçbir şeyi içermez. "Temel tablo veya görünüm bulunamadı: 1146 Tablo 'wwwinsta_Joyevincent.catalog_category_entity_tinyint' mevcut değil"
ravisoni

Okzz bu genel bilgi sekmesinde tarih attr ekleme çalıştı ama ben bir evet / Hayır türü attr eklemeye çalışıyorum bunun için herhangi bir fikir?
ravisoni

2
Sanırım bununla ilgili tüm soruları içeren bir yazı yazmalısın. Başka birinin sorusu üzerinde tartışmanın bir anlamı yok çünkü konu biraz kapalı.
Marius

5

Bu şekilde beklenen şekilde çalışmayı başardım.

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

Teşekkürler


0

Aşağıdaki kodu kullanarak kategori bölümüne özel evet / hayır özelliği ekleyebilirsiniz.

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

));

Adım adım açıklama ve dosya yapısı için lütfen eğiticime bakın. http://www.pearlbells.co.uk/add-custom-attribute-dropdown-category-section-magento/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.