且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

显示产品属性在list.phtml - Magento的

更新时间:2023-11-30 12:12:16

下面是code获得属性名称和价值,不属于任何产品

  $属性code ='YOUR_ATTRIBUTE_ code';$产品=法师:: getModel('目录/产品');$ productCollection =法师:: getResourceModel('EAV / entity_attribute_collection')
    - > setEntityTypeFilter($产品 - >的getResource() - GT; getTypeId())
    - > addFieldToFilter('attribute_ code',$属性code);$属性= $ productCollection-> getFirstItem() - GT; setEntity($产品 - >的getResource());
的print_r($属性 - >的getData()); //打印出可用的属性$选项= $属性 - >的getSource() - GT; getAllOptions(假);
的print_r($选项); //打印属性选项

Hello I have read many posts about this, and while it works its not complete.

For example; Attribute 1= shoesize and attribute 2 = shoe color. Both are in a dropdown and I would like to list all of the possible attribute colors per product within the category pages.

Problem: When I test the code it will only display the first shoe color, instead of all posibilites. What am I doing wrong here?

Here are 3 examples of what I have. All code work, but only shows the first attribute color. Example 1:

<!-- Find the following loop -->
<?php foreach ($_productCollection as $_product): ?>
<!-- Inside it insert one of the following codes as needed -->
<!-- Use this for regular text attributes -->
<?php echo $_product->getMyAttribute() ?>
<?php echo $_product->getAnotherCustomAttribute() ?>

<!-- Use this for dropdown attributes -->
<?php echo $_product->getAttributeText('shoecolor') ?>
<?php endforeach?>
<!-- ... --> 

Example 2

<?php echo $_product->getResource()->getAttribute('shoecolor')->getFrontend()->getValue($_product) ?>

Example 3

<?php $type = "simple"; $p = "0" ?> 
<?php foreach ($_productCollection as $_product): ?> 
<?php $custom = Mage::getModel('catalog/product_type_configurable')->setProduct($_product); ?> 
<?php $col = $custom->getUsedProductCollection()->addAttributeToSelect('shoecolor')->addFilterByRequiredOptions(); ?> 
<?php foreach($col as $simple_product) { $p=$simple_product->getId(); $type="configurable"; } ?> 

<?php if($type == "configurable"): ?> 
<h5><?php echo $_product->load($p)->getAttributeText('shoecolor'); ?><?php $type="simple" ?></h5> 
 <?php endif; ?> 

Here is the code get attribute name and value that that doesn't belongs to any product

$attributeCode = 'YOUR_ATTRIBUTE_CODE';

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

$productCollection = Mage::getResourceModel('eav/entity_attribute_collection')
   ->setEntityTypeFilter($product->getResource()->getTypeId())
   ->addFieldToFilter('attribute_code', $attributeCode);

$attribute = $productCollection->getFirstItem()->setEntity($product->getResource());
print_r($attribute->getData()); // print out the available attributes

$options = $attribute->getSource()->getAllOptions(false);
print_r($options); // print out attribute options