Je crée un site avec CakePHP, et j'ai besoin de définir des URL pour les pages statiques, qui sont gérées par le contrôleur de pages. Fondamentalement, je veux avoir deux différents types de pages statiques, avec les URLSRoutage CakePHP dans le contrôleur de pages
mysyte.com/page
qui devrait associez à app/views/pages/page.ctp
et
mysite.com/special/ page
qui doit correspondre à app/views/pages/special-page.ctp
. Notez que dans le premier cas, la page peut également être "spéciale".
Je suis un peu perdu avec le routage que je dois mettre en place pour cette situation. Je l'ai essayé d'utiliser les deux voies
Router::connect(
'/special/:mypage',
array('controller' => 'pages', 'action' => 'display'),
array('pass' => array('mypage'), 'mypage' => '[a-z]+')
);
Router::connect('/*', array('controller' => 'pages', 'action' => 'display'));
et dans le contrôleur pages
function display($page = null, $mypage = null) {
if ($mypage) {
$path = array('special-'. $mypage);
}
else {
$path = func_get_args();
}
//The rest of the display action
}
Le problème est qu'il est semble que :mypage
est passé comme premier paramètre dans l'action, qui est page
et pas comme le paramètre mypage
.
Comment puis-je résoudre ce problème?
qui est un itinéraire très gourmand, mieux vous le gardez au fond ou rien d'autre ne fonctionnera. – dogmatic69
Oui, c'est un site statique, et tout est géré par le contrôleur de pages. – Andrea