2011-06-11 3 views
2

J'utilise symfony 1.4.11; use_helper ('Url').Problème de routage de Symfony use_javascript()

En utilisant link_to ('nouveau', bien sûr/cours/type/nouveau), l'URL ce spectacle est ../backend_dev/backend_dev/Course/course/type/new au lieu de ../backend_dev/ Cours/cours/type/nouveau Le même problème existe également pour form_tag.

Modifier

Au-dessus était question solved.By mise no_script_name: true à config et cache de compensation.

Mais image_tag(), use_stylesheet() et use_javascript() donne chemin comme par exemple

use_javascript ('jquery-1.6.1.min.js') ==> ../ web/backend_dev/js/jquery-1.6.1.min.js

au lieu de

use_javascript ('jquery-1.6.1.min.js') ==> ../ web/js /jquery-1.6.1.min.js

Toute aide appréciée.

+0

Avez-vous changé votre configuration SF_WEB_DIR? Qu'est-ce qui se passe avec les chemins relatifs? – Arend

Répondre

3

Difficile à dire sans votre routing.yml complète mais la seule chose que je vois est que votre internal_uri devrait être exprimé sous la forme d'une URL abs avec une chaîne de requête comme:

link_to('new','/Course/course?type=new');

Notez la barre oblique à le début. Aussi le nom du module doit être le vrai nom du module, pas le routé, donc si le maodule est/apps/backend/modules/Course alors le module dans l'URI interne devrait être Course pas le course même avec le nom de l'action.

Si l'itinéraire est nommé alors vous devriez utiliser une des opérations suivantes:

link_to('new','@routename?type=new');

OU

link_to('new','routename', array('type'=>'new'));

+1

+ 1, merci pour la réponse, Monsieur.S'il vous plaît examiner la partie Modifier de la question. –

+0

Comment avez-vous configuré cela? backend_dev shoudlnt être un dossier il devrait être un seul fichier php dans 'web' ie. 'backend_dev.php' Et votre serveur Web (ou l'hôte virtuel) doit correspondre à votre dossier Web. – prodigitalson

+0

Monsieur, il n'y a pas de dossier backend_dev. Le fichier .backend_dev.php est là dans le dossier web.Comment mapper au dossier web du serveur –