2012-11-09 15 views
5

Bir modül yükseltme komut dosyası içinde programsal olarak özel bir nitelik eklemeye çalışıyorum. Komut dosyası düzgün çalışır ve yeni öznitelik oluşturur (örneğin, komut dosyası çalıştırıldıktan sonra Katalog -> Nitelikler -> Öznitelikleri Yönet altında Magento yönetici listesinde görünür). here tavsiye ve ne 'görünür' ne de amaçlandığı gibi 'apply_to' alanlarının bırakılırken ('görünür' hep yanlış ve ilk baştaMagento yükseltme komut dosyası tarafından oluşturulan yeni öznitelik görünürlüğü

Dersim Mage_Eav_Model_Entity_Setup (kullanıyordum 'uygulamak yapılır' "Bütün ürün olarak kalmıştır yerine komut verilen liste) kullanmaktan daha türleri".

Sonra. Bunun yerine Mage_Catalog_Model_Resource_Setup kullanmalıdır ve bu 'apply_to' ile problem belirlemiştir olduğunu açıkladığı,

this bulundu Ama yine de can özniteliğin 'görünür' özniteliğini true olarak ayarlamak için '' görünür 'özniteliğinin neden bu şekilde ayarlanmadığı konusunda herhangi bir fikri varsa Duymak için çok minnettar olurum, teşekkürler!

İşte benim yükseltme komut dosyası kodu:

$updater = $this;  // $this is class Mage_Eav_Model_Entity_Setup 
$updater->startSetup(); 
$updater->addAttribute('catalog_product', 'my_test_attribute', array(
    'label'    => 'My Test Attribute', 
    'type'    => 'int', 
    'input'    => 'select', 
    'global'   => Mage_Catalog_Model_Resource_Eav_Attribute::SCOPE_GLOBAL, 
    'apply_to'   => 'simple,configurable', 
    'group'    => 'General', 
    'visible'   => true, 
    'required'   => true, 
    'user_defined'  => true,   
)); 
$updater->endSetup(); 

Ben Windows 7

+0

Lütfen "özniteliğin 'görünür' özniteliği nedir? –

+1

Tim, "görünür niteliği true değerine ayarlayarak" anlamına gelir. Yani, Katalog -> Özellikler -> Özellikleri Yönet altında Magento yönetici listesinde, yeni özellik için "Görünür" sütununun "Evet" olarak ayarlanması gerektiği anlamına gelir. –

+0

Bu "Mage_Catalog_Model_Resource_Setup" şey beni delirtiyordu! Teşekkürler! –

cevap

1

Bunu şimdi çözdüm - sadece "görünür" yerine, "visible_on_front" niteliğinin ayarlanması gerekiyordu. Yani bu satırı yukarıdaki betiğe ekledim ve şimdi çalışıyor:

'visible_on_front' => true, 
0

Bu özelliğiyle ilgili WAMP içinde Magento 1.7.0.1 çalıştırıyorum Boole değil, tam sayı bu. Yani siz kurdunuz 1 = true 0 = false;

+0

Cevabınız için teşekkürler, ancak 1 ve 0'ı kullanmak fark yaratmaz. –

İlgili konular