2015-04-11 2 views
0

Я пытаюсь отобразить как значение атрибута продукта, так и метку атрибута (атрибут label = «Доступные цвета» атрибут code = 'available_colours') на странице категории для конкретной набор атрибутов (id = 9).Magento: Отображать имя и значение атрибута на странице категории

В настоящее время я использую следующий код для отображения значения атрибута, но, похоже, не отображается метка атрибута.

<?php 
    if (9 == $_product->getAttributeSetId()) { 
     echo $_product->getAvailableColours() 
    } 
?> 

Любые предложения?

ответ

0

После должны помочь:

<?php 
     $attributeSetId = 9; 
     if ($attributeSetId == $_product->getAttributeSetId()) { 
      echo $this->__('Available Colours') . "=" . $_product->getAvailableColours(); 
     } 
    ?> 

, если вы хотите напечатать для нескольких атрибутов, которые вы можете попробовать ниже код:

<?php 
$attributeSetId = 9; 
    if ($attributeSetId == $_product->getAttributeSetId()) { 
      $productData = $_product->getData(); 

      foreach($productData as $attributeCode=>$attributeValue) { 
       echo $attributeCode . "=" . $attributeValue; //You can do needed customization to check if attribute value is array then there will be a second loop here. 
      } 
    } 
    ?> 

Кроме того, его лучше не использовать статический идентификатор, как это может изменить с сервера.

С следующим кодом, который вы сможете загрузить атрибут установить идентификатор динамически из множества атрибутов имени

<?php 

$attributeSetName = "default"; // put your own attribute set name $attribute_set = 

Mage::getModel("eav/entity_attribute_set")->getCollection(); 

$attribute_set->addFieldToFilter("attribute_set_name",$attributeSetName)->getFirstItem(); 

$attributeSetId = $attribute_set->getAttributeSetId(); //In your case you will get 9 

?> 
Смежные вопросы