Magento: отображение имени и значения атрибута на странице категории

Я пытаюсь отобразить как значение атрибута продукта, так и метку атрибута (атрибут label = «Available Colors» code code = ‘available_colours’) на странице категории для определенного набора атрибутов (id = 9).

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

<?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

?>
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]