Php Magento向下拉属性添加新选项
您好,我正在为magento编写产品同步脚本。我知道如何添加具有给定属性集的新产品。然而,我正在使用的一个atributes是一个大小字段。当遇到新尺寸时,我想将此选项添加到属性中,我想知道如何执行此操作?在仔细查看之后,我终于找到了如何执行此操作。然后,我找到了一个对XMLAPI的扩展,该扩展扩展扩展了api以支持我想要执行的操作Php Magento向下拉属性添加新选项,php,magento,Php,Magento,您好,我正在为magento编写产品同步脚本。我知道如何添加具有给定属性集的新产品。然而,我正在使用的一个atributes是一个大小字段。当遇到新尺寸时,我想将此选项添加到属性中,我想知道如何执行此操作?在仔细查看之后,我终于找到了如何执行此操作。然后,我找到了一个对XMLAPI的扩展,该扩展扩展扩展了api以支持我想要执行的操作 我使用的扩展是这里有一个脚本,用于从产品视图或块向属性添加新选项: $attributeInfo = Mage::getResourceModel('eav/ent
我使用的扩展是这里有一个脚本,用于从产品视图或块向属性添加新选项:
$attributeInfo = Mage::getResourceModel('eav/entity_attribute_collection')
->setCodeFilter(YOUR_ATTRIBUTE_CODE)
->getFirstItem();
$options = $attributeInfo->getSource()->getAllOptions(false);
$_optionArr = array(
'value' => array(),
'order' => array(),
'delete' => array()
);
foreach ($options as $option) {
$_optionArr['value'][$option['value']] = array($option['label']);
}
$_optionArr['value']['option_1'] = array(NAME_OF_OUR_NEW_OPTION);
$attribute->setOption($_optionArr);
$attribute->save();
…将文件ie:test-attribute.php放入Magento根目录中
<?php
// Include and start Magento
require_once dirname(__FILE__).'/app/Mage.php';
Mage::app()->setCurrentStore(Mage_Core_Model_App::ADMIN_STORE_ID);
// Load attribute model and load attribute by attribute code
$model = Mage::getModel('catalog/resource_eav_attribute')->load('some_dropdown_attribute', 'attribute_code');
// Get existing options
$options = $model->getSource()->getAllOptions(false);
// Get the count to start at
$count = count($options) + 1;
// Prepare array
$data = array(
'option' => array(
'value' => array(),
'order' => array()
)
);
// You can loop here and increment $count for multiple options
$key = 'option_'.$count;
$data['option']['value'][$key] = array('Test '.$count);
$data['option']['order'][$key] = 0;
// Add array to save
$model->addData($data);
// Save
$model->save();
不要忘记在上面的代码之后调用Mage::getModel('catalog/product')->getResource()->unsetAttributes()
,以便Magento使用新选项刷新该属性模型。