gpt4 book ai didi

magento - 如何从不同范围访问 Magento 模型数据

转载 作者:行者123 更新时间:2023-12-02 13:51:56 26 4
gpt4 key购买 nike

我面临着访问在多网站/多商店站点上的另一个范围中指定的属性值的要求。特别是,当设置了商店的标签后,我们需要在前端显示属性的管理(默认)标签。

enter image description here

因此,代码应在页面的一部分呈现“管理”列中的十六进制值,并在页面的另一部分呈现英语(美国)的文本描述。我怎么做?

相反,我也见过这样的情况:在 Store View 上设置了值,但默认值为 null,并且即使设置了 Store,代码也会返回 null。有人可以解释一下它是如何工作的吗?

最佳答案

以下是如何使用 Magento 类来做到这一点:

// Get the model of the attribute in question 
/* @var $attribute Mage_Catalog_Model_Resource_Eav_Attribute */
$attribute = Mage::getSingleton('eav/config')->getAttribute('catalog_product', 'color');

// Load the option collection for that attribute adding the storeFilter()
/* @var $collection Mage_Eav_Model_Resource_Entity_Attribute_Option_Collection */
$collection = Mage::getResourceModel('eav/entity_attribute_option_collection')
->setPositionOrder('asc')
->setAttributeFilter($attribute->getId())
->setStoreFilter();

// Load the product so we can get the correct option from the collection
$product = Mage::getModel('catalog/product')->load(39);
$productOption = $collection->getItemById($product->getColor());

printf("Default: %s, Store: %s\n", $productOption->getDefaultValue(), $productOption->getValue());

根据需要进行调整。

关于magento - 如何从不同范围访问 Magento 模型数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8088752/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com