我使用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++; ?>">
<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';
} ?>
应该循环整个块