63 lines
1.7 KiB
PHP
63 lines
1.7 KiB
PHP
|
|
<?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()
|
||
|
|
]);
|
||
|
|
}
|
||
|
|
]
|
||
|
|
];
|