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 ループごとに必要な数値は 1 つだけです。


このコードはそれを機能させました:

<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 に答える