2017-06-15 6 views
0

J'essaye de migrer de 2.x à 3.4, avec un routage de langage basé sur l'URL.Cakephp 3.4 Où j'ai trouvé l'exemple pour Paginator avec le routage de langue

maintenant les liens paginateur sont comme/livres/index? Page = 2 & lang = fr

Comment puis-je transformer être comme/fr/livres/index? Page = 2 ou comment puis-je configurer un nouvelle ruote si c'est plus simple.

Dans le cas où les filtres Dispatcher est la meilleure solution ou Middleware, puis-je avoir un exemple, parce que la documentation of Dispatcher Filters et Middleware est extrêmement pauvre.

+0

réécrire vos itinéraires à votre contrôleur de livres et de faire langange param un préfixe à toutes les actions –

Répondre

0

Je pense que vos itinéraires doivent être mis à jour. Si vous avez un certain nombre de routes qui ont besoin la langue en eux que vous pouvez faire quelque chose comme:

// In config/routes.php 
Router::scope('/', function($routes) { 
    $routes->scope('/:lang', function ($routes) { 
    $routes->connect('/books', ['controller' => 'Books', 'action' => 'index']); 
    $routes->connect('/books/:action/*', ['controller' => 'Books']); 
    }); 
}); 

Cela se traduira par des URL comme /en/books et /en/books/view/1

+0

Merci pour cette réponse, maintenant je l'ai trouvé aussi dans les docs, mais je comprends comment cela fonctionne uniquement grâce à vous. Merci. –