0

我使用 Kirby CMS 作为后端。我的 html 输出需要以下结构:

<ul>

    <li class="link-1"><a href="/#">Link</a></li>

    <li class="link-2"><a href="/#">Link</a></li>

    <li class="link-3"><a href="/#">Link</a></li>

    <li class="link-4"><a href="/#">Link</a></li>

</ul>

我有以下代码:

<?php foreach($pages->visible() AS $p): ?>

<?php $nbr = $pages->countVisible()?>


<li class="link-<?php for ($i = 1; $i <= $nbr; $i++){echo $i;} ?>">
    <a<?php echo ($p->isOpen()) ? ' class="active"' : '' ?> href="<?php echo $p->url() ?>"><?php echo html($p->title()) ?></a></li>
<?php endforeach ?>

但相反,我只得到 css 类

链接 1234

在每个链接中,所以它正在制作 for 循环,但每个 foreach 循环我只需要一个数字。


这段代码使它工作:

<li class="link-<?php static $x=1; echo $x; $x++; ?>">
4

1 回答 1

3
 <li class="link-<?php for ($i = 1; $i <= $nbr; $i++){echo $i;} ?>">

仅在该元素内循环

 <?php for ($i = 1; $i <= $nbr; $i++){ 
echo "<li class=\"link-$i\">";
echo 'the rest of the line';
 } ?> 

应该循环整个块

于 2013-06-04T23:08:44.937 回答