How would I go about populating a page template select field with a collection?
I will create a static function in my theme ( Mytheme.php
)
Example, of course you can make your own
public static function getPageTitle($collection_options, $path)
{
$grav = Grav::instance();
$page = $grav['page'];
$collection = $page->evaluate([$collection_options => $path]);
$titles = [];
foreach ($collection as $item) {
$titles[$item->title()] = $item->title();
}
return $titles;
}
Then call it in your Blueprints
:
header.taxonomy.myselect:
type: select
label: My Label
multiple: true
data-options@: ['\Grav\Theme\Themename::getPageTitle', '@page.modular', '/path']
validate:
type: commalist
Hope it helps
1 Like
Thanks. Your namespace seems to bork the thing, though.
Declaring $grav
absolutely, as $grav = \Grav\Common\Grav::instance();
does the trick.
I think I need to brush up on namespace syntax because my brain is marinara right now.