2012-11-09 216 views
5

我試圖在模塊升級腳本中以編程方式添加自定義屬性。該腳本運行正常,並創建新屬性(即它在腳本運行後出現在目錄 - >屬性 - >管理屬性下的Magento管理列表中)。Magento升級腳本創建的新屬性的可見性

起初,我用的是類Mage_Eav_Model_Entity_Setup(推薦here和既不是「可見的」,也不如預期「apply_to」字段分別被設置(「可見的」總是假的,「應用到」仍然是「所有產品類型」,而不是用在腳本中提供的列表)。

後來我發現this,其解釋說,我應該使用Mage_Catalog_Model_Resource_Setup,而是和已固定‘apply_to’的問題。

,但是我就是不會將屬性的「visible」屬性設置爲true。如果有人有任何想法,爲什麼'visible'屬性仍然沒有被設置爲true我很樂意聽到,謝謝!

這裏是我的升級腳本代碼:

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

我在Windows 7

+0

您能否澄清一下「屬性」的「可見」屬性? –

+1

Tim,通過「設置可見屬性爲真」我的意思是在目錄 - >屬性 - >管理屬性下的Magento管理列表中,對於新屬性,「可見」列應設置爲「是」。 –

+0

這個「Mage_Catalog_Model_Resource_Setup」讓我瘋狂!謝謝! –

回答

1

我已經解決了這個問題 - 它需要的是「visible_on_front」屬性也被設置,而不僅僅是「可見」。即我將此行添加到上面的腳本中,它現在可以工作:

'visible_on_front' => true, 
0

此屬性運行的Magento 1.7.0.1在WAMP不是布爾值,它是整數。所以你已經設置了1 = true 0 = false;

+0

感謝您的回答,但使用1和0沒有區別。 –