Ben oldukça iyi çalışır magento, içine yapılandırılabilir ürünleri ithal bir ithalat modülü yazıyorum. Ben gerekli tüm özellik setleri oluşturmak, böylece, ithalat tweaked nitelikleri ve yapılandırılabilir ürünler oluşturmak için gerekli seçenekleri nitelik ettik. Şimdiye kadar her şey oldukça her şey ... çalışıyor.
Ithal yeni bir nitelik oluşturduğunda, yapılandırılabilir ürün yaratmak olamaz. Ben backend yeni özniteliği düzenlemek ve değişiklikleri olmadan kaydedin, bir mesaj bazı dizinleri güncellemek için bana söyler görünür. Ben ürünün düz veri kütüğü güncelledikten sonra, tekrar ithalat çalıştırabilir ve her şey çalışıyor.
Ben yeni bir nitelik oluşturmak için yollar denedim:
$setup = new Mage_Catalog_Model_Resource_Eav_Mysql4_Setup('core_setup');
$setup->addAttribute(
$this->getEntityTypeId(),
$code,
array(
'attribute_code' => $code,
'label' => ucfirst($code),
//'group' => $attributeSet->getId(),
'user_defined' => 1,
'global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'input' => 'select',
'unique' => 0,
'required' => 0,
'configurable' => 1,
'filterable' => 1,
'visible_on_front' => 1,
'used_in_product_listing' => 1,
'frontend_label' => array(
$code
)
)
);
Diğer yoludur:
$attribute = Mage::getModel("catalog/resource_eav_attribute");
$attribute->addData(
array(
'entity_type_id' => $this->getEntityTypeId(),
'attribute_code' => $code,
'label' => ucfirst($code),
//'group' => $attributeSet->getId(),
'is_user_defined' => 1,
'is_global' => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL,
'frontend_input' => 'select',
'is_unique' => 0,
'is_required' => 0,
'is_configurable' => 1,
'is_filterable' => 1,
'is_visible_on_front' => 1,
'is_used_in_product_listing'=> 1,
'frontend_label' => array(
$code
)
)
);
$attribute->save();
Her iki kodları iyi özellik yaratmak ama yapılandırılabilir Öznitelikler'i oluşturmak için kullanamazsınız. Ben elle dizin komut dosyalarını çalıştırmak için ama bu bana yardımcı olmuyor denedim.
Ben yanlış ne yapıyorum? Magento kara büyü bir şekilde yeni özelliklerini yaratıyor? :-D