2015-12-15 3 views
0
echo $_product->getResource()->getAttribute($attribute)->getFrontend()->getValue($_product); 

Этот код не работает нормально в view.phtml, он не возвращает значение первого значения атрибута.Magento getAttribute не работает с листинговым продуктом

, когда я пишу этот код на странице просмотра, он не показывает первый атрибут продукта, и все после первого цикла показывают штраф.

Это мой весь код

<?php 

$productAttributeTh = array('Color','Item','Size'); 

$configurableProduct = Mage::getModel('catalog/product')->load($_product->getId()); 

$childProducts = Mage::getModel('catalog/product_type_configurable')->getUsedProducts(null,$configurableProduct); 

foreach($childProducts as $child) { 
$product_id = $child->getId(); 

$obj = Mage::getModel('catalog/product'); 

$_childProduct = $obj->load($product_id); // Enter your Product Id in $product_id 

foreach ($productAttributeTh as $key => $productAttributeValue){ 
$productAttribute = $_childProduct->getResource()->getAttribute($productAttributeValue)->getFrontend()->getValue($_childProduct); 

echo $productAttribute; 
} 

} ?> 

ответ

0

Вы должны убедиться, что ваш атрибут установлен для использования в списке. Идти к;

Catalog > Attributes > Manage Attributes 

Найдите свой атрибут и откройте его. Прокрутите вниз до опции «Используется в списке продуктов» и установите «Да». Сохраните, а затем переиндексируйте атрибуты.

+0

это «да», я проверил – tarun

+0

я беру его $ attribute определен в виде списка? – PixieMedia

+0

yes $ attribute дает имя атрибута, как цвет, элемент, размер – tarun

0

Попробуйте это.

Mage::getResourceModel('catalog/product')->getAttributeRawValue($productId, 'attribute_code', $storeId); 

Или

$attribute_value = $product->getResource()->getAttribute($attribute_code)->getFrontend()->getValue($product); 

я надеюсь, что это поможет.

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