【问题标题】:Magento backend, can't get store view attribute valueMagento 后端,无法获取商店视图属性值
【发布时间】:2011-11-07 03:04:33
【问题描述】:

下面的一切都发生在 magento 的后端,而不是前端。

我以编程方式为所有产品添加了属性。 这些属性的范围在 store_view。 我已经以编程方式为每个商店视图更新了这些属性。 到目前为止一切正常。

现在,我正在尝试获取有关这些属性的统计信息。基本上,获取产品集合,设置商店 ID 过滤器,获取我的属性。

问题>>他总是返回默认值(管理商店视图)而不是 store_view 值。

        $products = Mage::getModel('catalog/product')
                        ->getCollection()
                        ->addAttributeToSelect('name')
                        ->addAttributeToSelect('myattribute')
                        ->addStoreFilter(5);

        foreach($products as $product){
            echo $product->getData('name').' -> '.$product->getData('myattribute').'<br />';
        }

这与产品的商店视图名称相呼应,但不是 myattribute 商店视图值。 这两个属性的唯一区别是后端的name属性没有勾选“使用默认值”,然后返回它的store view值。

我检查了数据库,myattribute 的商店视图的值在那里。

在后端获取此商店视图值的任何想法? 或者在我更新/创建 myattribute 时以编程方式禁用此复选框“使用默认值”的任何想法?

【问题讨论】:

    标签: magento attributes save


    【解决方案1】:

    我终于找到了解决办法。

    要取消选中使用默认值,store_id 必须有一个值 0(管理员)。

    我只是为我想要的 store_id 和 store_id 0 保存了一个值,然后一切正常。 希望这对其他人有用。

    【讨论】:

    • 你也可以通过 Mage::app()->setCurrentStore($storeId); 来设置当前商店 ID在调用集合之前。不过,每个脚本您只能执行一次。
    猜你喜欢
    • 1970-01-01
    • 2023-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多