geoproject-app/public/site/plugins/virtual-print-page/index.php

38 lines
1.1 KiB
PHP
Raw Normal View History

<?php
/**
* Virtual Print Page Plugin
*
* Crée une page virtuelle /print pour chaque récit
* Permet d'accéder à l'éditeur d'impression via /projet/recit/print
*/
use Kirby\Cms\Page;
use Kirby\Uuid\Uuid;
Kirby::plugin('geoproject/virtual-print-page', [
'routes' => [
[
'pattern' => '(:all)/print',
'action' => function ($parentPath) {
// Trouver la page parente (le récit)
$parent = page($parentPath);
if (!$parent || $parent->intendedTemplate()->name() !== 'recit') {
return $this->next();
}
// Créer la page virtuelle avec Page::factory()
return Page::factory([
'slug' => 'print',
'template' => 'print',
'parent' => $parent,
'content' => [
'title' => 'Impression - ' . $parent->title()->value(),
'uuid' => Uuid::generate()
]
]);
}
]
]
]);