J'utilise Symfony2 et TWIG, je veux utiliser des variables globales pour pointer vers l'index de la tablette en page:Puis-je utiliser des variables variables dans TWIG?
app/config/parameters.ini
tab_branch="1"
app/config/config.yml
twig:
globals:
tab_branch: %tab_branch%
src/ACME/BranchBundle/Controller/defaultController.php
/**
* @Template()
*/
public function showAction($id) {
...
return array(
'tab' => 'tab_branch',
);
}
src/ACME/BranchBundle/Ressources/vues/default/show.html.twig
<input type="hidden" id="tablndex" value="{{ {{ tab }} }}" /> //not working
Je veux vraiment faire est de faire {{ tab }}
à résoudre à tab_branch
, puis {{ tab_branch }}
être résolu à 1
(tout comme $$foo
en PHP), Comment dois-je faire?
Désolé, mais cela sent juste une mauvaise odeur de code. Maintenir cela sera un cauchemar. Pourriez-vous nous en dire un peu plus sur le problème que vous essayez de résoudre? – gilden
Merci pour vos conseils. Ce que je veux vraiment faire était juste de marquer l'onglet actuel. Maintenant, j'utilise querystring pour passer le tabindex entre les pages, à savoir http://www.abc.com/branch?idx=1, mais je veux vraiment jeter la chaîne de requête, pourriez-vous suggérer une autre solution? –
En fonction de la complexité du site, vous pouvez soit vérifier l'itinéraire actuel dans le modèle ('{{app.request.attributes.get ('_ route') == 'FooBar'? 'foo': 'bar'}} ') ou opter pour quelque chose de plus compliqué, comme [écrire une extension twig personnalisée] (http://symfony.com/doc/current/cookbook/templating/twig_extension.html) ou en utilisant [KnpMenuBundle] (https://github.com/KnpLabs/KnpMenuBundle). – gilden