在Magento中获取自定义属性的“默认存储视图”值的问题?

时间:2012-02-20 15:07:49

标签: magento

我使用以下代码获取属性名称


$attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product','pricee');
echo $attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId);

$attribute->getFrontendLabel()


在这个'pricee'中是属性代码。但输出不是所需的输出,而是检索“Admin”下的值。屏幕下方显示我需要显示的实际字段

enter image description here

我做错了什么?请建议。

2 个答案:

答案 0 :(得分:2)

法师::应用程序() - > setCurrentStore( '默认');

这将选择您所追求的默认商店。

您还可以尝试使用getStoreLabel($ storeId)函数来获取更具体的内容。

此功能位于:/app/code/core/Mage/Eav/Model/Entity/Attribute.php,如下所示:

/**
 * Return store label of attribute
 *
 * @return string
 */
public function getStoreLabel($storeId = null)
{
    if ($this->hasData('store_label')) {
        return $this->getData('store_label');
    }
    $store = Mage::app()->getStore($storeId);
    $label = false;
    if (!$store->isAdmin()) {
        $labels = $this->getStoreLabels();
        if (isset($labels[$store->getId()])) {
            return $labels[$store->getId()];
        }
    }
    return $this->getFrontendLabel();
}

HTH,

Shaun O'Reilly

答案 1 :(得分:0)

实际上下面的代码在我的案例中有效,

 
$attributeId = Mage::getResourceModel('eav/entity_attribute')->getIdByCode('catalog_product','ATTRIBUTE_CODE_HERE');
$attribute = Mage::getModel('catalog/resource_eav_attribute')->load($attributeId);
$attributeOptions = $attribute ->getSource()->getAllOptions();

echo $attribute->getStoreLabels();

 

输出结果为:Array ( [1] => Price )