index-main/site/config/routes/investigations.php

63 lines
1.7 KiB
PHP
Raw Normal View History

<?php
/**
* Routes pour les enquêtes (investigations)
*
* Structure des URLs :
* - /enquetes/:slug redirige vers /enquetes/:slug/resume (géré par le controller)
* - /enquetes/:slug/resume affiche le résumé (template investigation-summary)
* - /enquetes/:slug/detail affiche l'enquête complète (template investigation)
*
* Note : La redirection de /enquetes/:slug vers /resume est gérée par le controller
* investigation.php, pas par une route, car les routes ne peuvent pas intercepter
* les pages existantes.
*/
return [
// Route pour /enquetes/:slug/resume - Page virtuelle résumé
[
'pattern' => 'enquetes/(:any)/resume',
'action' => function($slug) {
$parent = page('enquetes/' . $slug);
if (!$parent) {
return false;
}
if ($parent->intendedTemplate()->name() !== 'investigation') {
return false;
}
// Créer une page virtuelle avec le template investigation-summary
return Page::factory([
'slug' => 'resume',
'template' => 'investigation-summary',
'parent' => $parent,
'content' => $parent->content()->toArray()
]);
}
],
// Route pour /enquetes/:slug/detail - Page virtuelle détail
[
'pattern' => 'enquetes/(:any)/detail',
'action' => function($slug) {
$parent = page('enquetes/' . $slug);
if (!$parent) {
return false;
}
if ($parent->intendedTemplate()->name() !== 'investigation') {
return false;
}
// Créer une page virtuelle avec le template investigation
return Page::factory([
'slug' => 'detail',
'template' => 'investigation',
'parent' => $parent,
'content' => $parent->content()->toArray()
]);
}
]
];