我正在尝试在Magento 1.8中以编程方式创建产品,然后为其添加一些海关选项。到目前为止一切正常,所有选项都在“默认”范围内正确保存。
问题是我的商店有两个不同的“商店视图”,一个是英文,一个是法文。我无法想象如何在选项上设置范围。
当我在产品上设置范围时,我似乎无法在默认情况下获取已添加的选项。请记住,我不想为每个商店视图设置不同的选项,我只想翻译一些字段。
这是一个代码示例:
$option = array(
'title' => 'Option title', // this needs to be translated per store view
'type' => 'radio',
'is_require' => 1,
'sort_order' => 6,
'values' => array(
array(
'title' => 'Value 1', // this needs to be translated per store view
'price' => 0,
'price_type' => 'fixed',
'sku' => '',
'sort_order' => '1'
),
array(
'title' => 'Value 2', // this needs to be translated per store view
'price' => 0,
'price_type' => 'fixed',
'sku' => '',
'sort_order' => '2'
)
)
);
答案 0 :(得分:3)
您可以尝试以下示例:
//Create options array
$values = array(
//15 is the option_id of the option in 'eav_attribute_option_value' table
15 => array(
0 => 'Apple' //0 is current store id, Apple is the new label for the option
),
19 => array(
0 => 'Nexus'
),
12 => array(
0 => 'HTC'
),
);
清除翻译缓存,因为属性标签存储在翻译中
Mage::app()->cleanCache(array(Mage_Core_Model_Translate::CACHE_TAG));
答案 1 :(得分:3)
如果您想修改选项保存产品,您不仅应该将商店ID设置为产品,还应添加' option_id' $ option array 以确定您要保存相同的选项。
如果您想使用选项,最好先了解Mage_Catalog_Model_Product_Option :: saveOptions()方法。
以下是允许您使用翻译保存自定义选项的代码示例:
/** @var Mage_Catalog_Model_Product_Option $option */
$option->setData($optionData)
->setData('product_id', $productId)
->setData('store_id', $firstStoreId)
->save();
$optionData['title'] = $translatedTitle;
$option->setData($optionData)
->setData('product_id', $productId)
->setData('store_id', $secondStoreId)
->save();
答案 2 :(得分:0)
您只需进入目录 - > 属性 - > 管理属性。点击您的属性后,转到管理标签/选项。
您可以在这里设置翻译/商店。