我想知道如何获取产品属性对象的类型。在magento后端,需要在“文本字段”或“下拉”等各种选项之间进行选择。
我正在使用产品导入脚本,重要的是要知道正确设置值的属性类型。
答案 0 :(得分:10)
有一个简单的魔术方法来获取对象的值:
$attribute = Mage::getModel('eav/entity_attribute')->load( $your_attribute_id );
$attribute->getFrontendInput();
结果是一个短字符串,例如“text”或“select”。以下是Magento 1.7(德语翻译)中所有类型的简短列表:
如果您需要单个属性的所有选项列表,请执行以下操作:
Mage::getModel( 'eav/config' )->getAttribute( 'catalog_product' , 'code_of_attribute' )
所以你加载了属性对象。加载对象的其他方法对我不起作用(例如Mage::getModel('eav/entity_attribute')->load('xy');
)。
然后使用getSource()方法和getAllOptions方法接收包含所有选项的数组:
$your_attribute->getSource()->getAllOptions(true, true)
结果如下所示:
array(4) {
[0]=>
array(2) {
["label"]=>
string(0) ""
["value"]=>
string(0) ""
}
[1]=>
array(2) {
["value"]=>
string(1) "5"
["label"]=>
string(6) "red"
}
[2]=>
array(2) {
["value"]=>
string(1) "4"
["label"]=>
string(6) "blue"
}
[3]=>
array(2) {
["value"]=>
string(1) "3"
["label"]=>
string(6) "green"
}
}