如何保存特定商店视图的选项标题和值?

时间:2014-05-09 19:38:02

标签: magento magento-1.8

我正在尝试在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'
                )
            )
        );

3 个答案:

答案 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)

您只需进入目录 - > 属性 - > 管理属性。点击您的属性后,转到管理标签/选项

您可以在这里设置翻译/商店。