Hello,
In the reference $page->indexOf()
is described as…
Returns the position / index in the collection
…but collection
there seems to mean all siblings of the page, and not any other particular $pages
object.
For example:
<?php dump($site->children()) ?>
Kirby\Cms\Pages Object
(
[0] => bananas
[1] => ball-ball
[2] => bananasssss
[3] => socks
[4] => mooore-bananaaas
[5] => wurst
[6] => error
[7] => home
[8] => success
)
<?php dump($site->children()->filterBy('intendedtemplate','product')) ?>
Kirby\Cms\Pages Object
(
[0] => bananas
[1] => ball-ball
[2] => bananasssss
[3] => mooore-bananaaas
[4] => wurst
)
<?php foreach($site->children()->filterBy('intendedtemplate','product') as $product): ?>
<?= $product->indexOf() . ' => ' . $product->title() . '<br />'?>
<?php endforeach ?>
0 => Bananas
1 => Ball ball
2 => Bananasssss
4 => Mooore Bananaaas
5 => Wurst
Although I am looping $site->children()->filterBy('intendedtemplate','product')
indexOf takes $site->children()
as the reference collection.
First, is this expected and desired behaviour? and, is this what is expected from users to understand from the description of indexOf at reference page?
Second, how do I access the index of the page in the actual collection I am looping ?
Thank you