If语句的正确PHP函数

If语句的正确PHP函数,php,magento,Php,Magento,我在for-each循环的末尾有一个if语句,它在生成的无序列表的末尾添加|字符 我的目标是在“不是最后两个”之后加上| | 我希望可以在getIsLast或getIsFirst函数中输入如下值: <?php if (! $_link->getIsLast(2)):?>|<?php endif;?> | 我希望上面的语句能够为每个生成的列表项添加|字符,最后两个除外。然而,它似乎不起作用 有人知道这样做的正确语法吗 每个循环的适用范围如下所示: <ul

我在for-each循环的末尾有一个if语句,它在生成的无序列表的末尾添加|字符

我的目标是在“不是最后两个”之后加上|

|
我希望可以在getIsLast或getIsFirst函数中输入如下值:

<?php if (! $_link->getIsLast(2)):?>|<?php endif;?>
|
我希望上面的语句能够为每个生成的列表项添加|字符,最后两个除外。然而,它似乎不起作用

有人知道这样做的正确语法吗

每个循环的适用范围如下所示:

<ul class="links pull-right"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
    <?php foreach($_links as $_link): ?>
        <?php if ($_link instanceof Mage_Core_Block_Abstract):?>
            <?php echo $_link->toHtml() ?>
        <?php else: ?>
            <li<?php if($_link->getIsFirst()||$_link->getIsLast()): ?> class="<?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
        <?php endif;?>
        <?php if (! $_link->getIsLast()):?>|<?php endif;?>
    <?php endforeach; ?>
</ul>
id=”“>
class=“first last”>
|

试试这个

<ul class="links pull-right"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
    <?php 
        $numberOfRows = count($_links);
        $currentIndex=0;
        foreach($_links as $_link): 
    ?>
        <?php if ($_link instanceof Mage_Core_Block_Abstract):?>
            <?php echo $_link->toHtml() ?>
        <?php else: ?>
            <li<?php if($_link->getIsFirst()||$_link->getIsLast()): ?> class="<?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
        <?php endif;?>
        <?php if ($currentIndex<$numberOfRows-2):?>|<?php endif;?>
    <?php 
    $currentIndex++;
    endforeach; ?>
</ul>
id=”“>
class=“first last”>
|


|因此,您要说的是,您只想将
放在
m..n
项上,其中
m
是列表的起始索引,而
n
是列表的结束索引?为什么只为编写
而如此复杂<代码>回声“|”也一样。我的账户|我的愿望清单|我的购物车(1件商品)|结帐——寻找类似的东西。请注意,共有五项,最后一项未列出,因此,我尝试为除最后两项之外的所有项目添加|。我猜不会,因为我尝试此操作时,为每种情况添加了|。这应该是
变量名用于示例。你可以在出发前再吃一杯。你为什么不把foreach的声明贴给我们?不,它不会标记Parnell$numberofRows与最大索引不同。索引为0到4的数组有5行。所以,只写
简直太棒了。非常感谢你!
<ul class="links pull-right"<?php if($this->getName()): ?> id="<?php echo $this->getName() ?>"<?php endif;?>>
    <?php 
        $numberOfRows = count($_links);
        $currentIndex=0;
        foreach($_links as $_link): 
    ?>
        <?php if ($_link instanceof Mage_Core_Block_Abstract):?>
            <?php echo $_link->toHtml() ?>
        <?php else: ?>
            <li<?php if($_link->getIsFirst()||$_link->getIsLast()): ?> class="<?php if($_link->getIsFirst()): ?>first<?php endif; ?><?php if($_link->getIsLast()): ?> last<?php endif; ?>"<?php endif; ?> <?php echo $_link->getLiParams() ?>><?php echo $_link->getBeforeText() ?><a href="<?php echo $_link->getUrl() ?>" title="<?php echo $_link->getTitle() ?>" <?php echo $_link->getAParams() ?>><?php echo $_link->getLabel() ?></a><?php echo $_link->getAfterText() ?></li>
        <?php endif;?>
        <?php if ($currentIndex<$numberOfRows-2):?>|<?php endif;?>
    <?php 
    $currentIndex++;
    endforeach; ?>
</ul>