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

Ruu*_*uud 4 php arrays for-loop magento configurable-product

您好我已经阅读了很多关于此的帖子,虽然它的工作原理尚不完整.

例如; 属性1 =鞋类和属性2 =鞋色.两者都在下拉列表中,我想在类别页面中列出每个产品的所有可能的属性颜色.

问题:当我测试代码时,它只显示第一个鞋子颜色,而不是所有的posibilites.我在这做错了什么?

以下是我所拥有的3个例子.所有代码都有效,但只显示第一个属性颜色.例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?>
<!-- ... --> 
Run Code Online (Sandbox Code Playgroud)

例2

<?php echo $_product->getResource()->getAttribute('shoecolor')->getFrontend()->getValue($_product) ?>
Run Code Online (Sandbox Code Playgroud)

例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; ?> 
Run Code Online (Sandbox Code Playgroud)

小智 14

你可以在属性编辑页面中配置它

用于产品列表 - >是


Oğu*_*mir 6

其他方式

$_product = Mage::getModel('catalog/product')->load($this->getProduct()->getId());
Run Code Online (Sandbox Code Playgroud)

如果你创建一个像你的"shoesize"这样的属性,那么你可以通过以下代码访问.

如果您的属性类型为Text Field($ _product应加载):

<?php
  echo $_product->getShoesize();
  // if your arribute was shoe_size then
  echo $_product->getShoeSize();
?>
Run Code Online (Sandbox Code Playgroud)

如果您的属性类型为Multiple Select或Dropdown,则获取所有属性值:

<?php
   echo $_product->getAttributeText('shoesize');
?>
Run Code Online (Sandbox Code Playgroud)