0

我想出了如何将我的自定义多选属性显示为列表,但无法弄清楚如何将 ID 或类添加到每个列表项。这将允许我使用 CSS 而不是文本来显示图像。

希望你们能帮助我。顺便说一句,这是我用来将我的自定义属性“评级”显示为列表的代码:

        <?php if($_product->getResource()->getAttribute('rating')->getFrontend()->getValue($_product)): ?>
        <ul><li><?php
        $_comma = ",";
        $_list = "</li><li>";
        echo str_replace($_comma,$_list,$_product->getResource()->getAttribute('rating')->getFrontend()->getValue($_product))    ?>    
        </li></ul>
        <?php endif; ?> 
        </div>
4

1 回答 1

0

在不知道函数返回的确切格式的情况下,我不能 100% 确定,但我认为这可以解决问题:

    <div>
    <?php if($_product->getResource()->getAttribute('rating')->getFrontend()->getValue($_product)):?>
        <ul>
        <?php $i=0?>
        <?php foreach(explode(',', $_product->getResource()->getAttribute('rating')->getFrontend()->getValue($_product)) as $value) : ?>
            <li id="value_<?php echo $i?>"><?php echo $value ?></li>
            <?php $i++ ?>
        <?php endforeach ?>
        </ul>
    <?php endif; ?> 
    </div>

只修改返回值以返回数组可能会更容易一些,但是如果返回值是逗号分隔的列表并且不容易更改,那么 explode 应该可以解决问题。

于 2012-05-22T15:15:15.050 回答