projektalex
projektalex

Reputation: 61

Foreach loop and incrementing variable and output to css

I use Kirby CMS as backend. I want following structure for my html output:

<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>

I have following code:

<?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 ?>

But instead I only get the css class

link-1234

in each of the links, so it is making the for loop, but I need only one number per foreach loop.


This code made it work:

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

Upvotes: 0

Views: 569

Answers (1)

exussum
exussum

Reputation: 18550

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

only loops inside that element

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

should loop the whole block

Upvotes: 3

Related Questions