45 lines
1.1 KiB
PHP
45 lines
1.1 KiB
PHP
|
|
<?php
|
||
|
|
|
||
|
|
/**
|
||
|
|
* Route catch-all pour le préfixe /en/
|
||
|
|
* Permet d'accéder aux pages avec /en/... pour la version anglaise
|
||
|
|
*/
|
||
|
|
|
||
|
|
return [
|
||
|
|
'pattern' => 'en/(:all?)',
|
||
|
|
'action' => function ($uri = '') {
|
||
|
|
// Si l'URI se termine par .json, chercher la page et retourner le JSON
|
||
|
|
if (str_ends_with($uri, '.json')) {
|
||
|
|
$uri = str_replace('.json', '', $uri);
|
||
|
|
$page = page($uri);
|
||
|
|
|
||
|
|
if (!$page) {
|
||
|
|
// Si pas de page trouvée, essayer avec 'home'
|
||
|
|
if ($uri === '' || $uri === '/') {
|
||
|
|
$page = page('home');
|
||
|
|
} else {
|
||
|
|
return false; // 404
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// Retourner la page pour que Kirby serve le template .json.php
|
||
|
|
return $page;
|
||
|
|
}
|
||
|
|
|
||
|
|
// Pour les URLs normales (sans .json), chercher la page
|
||
|
|
$page = page($uri);
|
||
|
|
|
||
|
|
if (!$page) {
|
||
|
|
// Si pas de page trouvée, essayer avec 'home'
|
||
|
|
if ($uri === '' || $uri === '/') {
|
||
|
|
$page = page('home');
|
||
|
|
} else {
|
||
|
|
return false; // 404
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
// Retourner la page pour que Kirby serve le template .php
|
||
|
|
return $page;
|
||
|
|
}
|
||
|
|
];
|