我正在寻找一种为多种语言创建多语言magento属性选项的方法。
我们说我确实有商店视图名称'德国'和'英语'。 我确实检索了商店语言代码(必须在商店视图配置页面上设置语言):
$storelist = Mage::app()->getStores();
$storelang = array();
foreach ($storelist as $id => $s) {
$storelang[$id] = substr(Mage::getStoreConfig('general/locale/code', $id), 0, 2);
}
这样我就可以创建属性选项(属性确实存在):
function addAttributeValue($arg_attribute, $arg_value) {
$attribute_model = Mage::getModel('eav/entity_attribute');
$attribute_code = $attribute_model->getIdByCode('catalog_product', $arg_attribute);
$attribute = $attribute_model->load($attribute_code);
if (!attributeValueExists($arg_attribute, $arg_value)) {
$value['option'] = array($arg_value, $arg_value);
$result = array('value' => $value);
$attribute->setData('option', $result);
$attribute->save();
echo "Attribute '" . $arg_attribute . "' with
option '" . $arg_value . "' saved.<br />";
}
但第二语言在哪里发挥?现在只有默认值/默认值被填充到数据库中。
我想为每种语言准备一个循环,但我不知道正确的&#34;切换&#34;对于语言。
创建产品时,不是属性选项,有一种方法可以根据语言
设置所有产品字段$Product->setStoreId($lang_value);
但我对属性选项不确定。 你们能给我一个暗示吗?
感谢。
答案 0 :(得分:1)
问题解决了。感谢Marius指出我乱糟糟的阵列。 这条线错了:
$value['option'] = array($arg_value, $arg_value);
将其设置为:
$value['option'] = array($arg_value_label, $arg_value_lang1, $arg_value_lang2);
现在我可以加载每种语言的值,并使用上面的那一行设置它们。也许这不是最好的解决方案,但它目前对我有用。 祝大家周末愉快。