J'ai récemment construit une petite extension de routage, qui appelle les routes d'une table MySQL (structure vers le bas). Je pense qu'il vaut la peine d'être mentionné, que cette page fonctionne en plusieurs langues (allemand et anglais). Donc - en s'appuyant sur le cookie, qui est actuellement défini dans le navigateur du client - les routages correspondants obtiennent connecté. Le problème est que si l'utilisateur ne peut pas (extérieurement) être lié à une page de contenu allemand, si le cookie de son navigateur était réglé sur la langue anglaise (parce que les routes en anglais se sont connectées).Liaison externe et engin de routage de cakephp (multilangue)
Est-ce que quelqu'un a une bonne solution pour cela? Pour être honnête, je ne sais pas vraiment, comment étendre par programme la fonctionnalité de classe de routeur.
Meilleures salutations, Benedikt
La structure de la table MySQL ressemble à ceci:
CREATE TABLE `routes` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`language` varchar(5) COLLATE latin1_general_ci NOT NULL DEFAULT 'de',
`route` varchar(64) COLLATE latin1_general_ci NOT NULL,
`controller` varchar(64) COLLATE latin1_general_ci NOT NULL,
`action` varchar(64) COLLATE latin1_general_ci NOT NULL,
PRIMARY KEY (`id`)
)
1) Cela semble être une mauvaise idée, vous mettez trop de logique dans le routeur et rend le reste de votre application inflexible (apparemment). 2) Il est difficile de déterminer, à partir de votre explication, ce que vous avez exactement fait au routeur, comment cela affecte le reste de votre application et pourquoi vous rencontrez le problème que vous rencontrez. 3) Vous l'avez écrit, probablement seulement vous savez comment y faire face. :) – deceze
En fait, je suis juste à la recherche d'une bonne solution pour les routages multilangues dans cakephp. – Benedikt
Alors peut-être cela vous donnera de l'inspiration: http://stackoverflow.com/questions/1794412/adding-a-prefix-to-every-url-in-cakephp – deceze