Symfony2 + Twig get real/complète en cours de route
J'ai un routage avec des paramètres optionnels:
/**
* @Route( "/route/{id}", name="_route", defaults={"id" = ""} )
* @Template()
*/
Dans le modèle j'ai un formulaire et je veux que le formulaire à envoyer à:
/route
ou:
/route/10
/route/10/mail – if there were more than just one parameter
À l'instant, je suis à la résolution de cette façon:
{{ path(app.request.attributes.get('_route')) }}/{{ object.id }}
Qui fonctionne très bien, mais je dois ajouter tous les paramètres possibles par moi-même. Est-il un moyen pour obtenir le plein chemin d'accès actuel à partir de l'intérieur de rameau? Je ne veux pas ajouter une variable supplémentaire dans mon contrôleur à envoyer pour le modèle.
OriginalL'auteur insertusernamehere | 2012-06-21
Vous devez vous connecter pour publier un commentaire.
La
Request
classe a ungetRequestUri()
méthode. Vous pouvez y accéder dans twig commeOriginalL'auteur Maerlyn
Il y a une façon de plus (pas sûr si c'est une bonne pratique ou pas):
Et dans ce cas, vous pouvez ajouter un paramètre supplémentaire:
Il convient de noter que ce ne sera pas inclure des paramètres de requête qui ne font pas partie de la route définie.
eh bien, dans mon exemple
p
peut être une partie d'un itinéraire. Ou peut-être pas. De toute façon, il sera toujours utilisé. Cependant, si vous souhaitez inclure les arguments passés à l'aide d'une chaîne de requête, vous pouvez utiliserapp.request.query
.OriginalL'auteur Denis V
Sont différentes actions. Les différentes actions qui ont des modèles différents. Avec twig, vous pouvez avoir 2 ou 3 modèles qui s'étend à un tiers. En troisième, vous pouvez définir le bloc de la liste. Et un blok de la forme. Dans twig, vous pouvez s'étend des modèles.
- Je encore, ... pensez que vous avez besoin de différents modèles et différentes actions. Chaque action du modèle, s'étend une "super" modèle de la liste.
OriginalL'auteur sensorario
Vous pouvez utiliser de multiples @Route en vous action:
Et de vérifier si une variable existe ...
Mais ... je ne comprends pas que vous devez utiliser la même action avec itinéraire différent. Je préfère utiliser une action pour chaque "objet". Et à suivre à SEC modèle, j'aime écrire quelque méthode privée pour ne pas réécrire le code ...
Je vois encore des comportements différents. Je ne comprends pas pourquoi vous voulez faire 3 choses à la même place.
Donc l'idée c'est: nous voulons des entrées de la liste sur le côté gauche. Lorsque vous cliquez sur une entrée, c'est sélectionnée et vous pouvez le modifier sur le côté droit. Mais la liste est encore visible. Si aucune entrée n'est sélectionnée, vous pouvez simplement créer un nouveau avec le formulaire vide sur le côté droit.
OriginalL'auteur sensorario