Magento后端,无法获取商店视图属性值

发布于 2024-12-02 04:50:43 字数 908 浏览 0 评论 0原文

下面的一切都发生在 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 时以编程方式禁用此复选框“使用默认值”?

Everything below happens in the backend of magento, not frontend.

I have added programmatically attributes to all products.
These attributes are scoped on store_view.
I have programmatically updated these attributes for each store view.
Everything has worked fine until now.

Now, I'm trying to get statistics on these attributes. Basically, get a product collection, set store id filter, get my attribute.

Problem >> he always return the default value (admin store view) and never the store_view value.

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

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

This echoes the store view name of the product but not the myattribute store view value.
The only difference between these two attributes is that the "Use default value" is not checked for the name attribute in the backend, which then return the store view value of it.

I checked in database, the value is there for the store view for myattribute.

Any idea to get this store view value in backend ?
Or any idea to programmatically disable this checkbox "Use default value" when i update/create myattribute ?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

短叹 2024-12-09 04:50:44

我终于找到了解决方案。

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

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

I finally found the solution.

For use default value to be unchecked there has to be a value for store_id 0 (admin).

I simply saved a value for the store_id i want and store_id 0 and then everything worked properly.
Hoping this will be useful to someone else.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文