问题描述
你好,我已经阅读了很多关于这个的帖子,虽然它有效但并不完整.
Hello I have read many posts about this, and while it works its not complete.
例如;属性 1 = 鞋码,属性 2 = 鞋色.两者都在下拉列表中,我想在类别页面中列出每个产品的所有可能的属性颜色.
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?
以下是我所拥有的 3 个示例.所有代码都有效,但只显示第一个属性颜色.示例 1:
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?> <!-- ... -->
示例 2
<?php echo $_product->getResource()->getAttribute('shoecolor')->getFrontend()->getValue($_product) ?>
示例 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; ?>
推荐答案
你可以在属性编辑页面进行配置
you can just config it in attribute edit page
用于产品列表 -> 是
Used in Product Listing -> Yes