проблема с получением значения «Просмотр магазина по умолчанию» для пользовательского атрибута в Magento? - PullRequest
0 голосов
/ 20 февраля 2012

Я использую приведенный ниже код для получения имени атрибута


$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 ]

2 голосов
/ 21 февраля 2012

Mage :: приложение () -> 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();
}

НТН,

Шон О'Рейли

0 голосов
/ 21 февраля 2012

На самом деле приведенный ниже код работал в моем случае,

 
$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 )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...