web-dev-qa-db-fra.com

Comment imprimer une variable twig à l'intérieur d'un JavaScript dans un fichier twig

J'ai un fichier twig d'un module personnalisé. Il a un <script></script> section et j'ai besoin d'imprimer une variable twig à l'intérieur de cette section. Comment faire?

{{ set twigVariable = '123456' }}

<script>
    function myFunc() {
        var myJsVar = {{ twigVariable }};
    }
</script>

La variable ne s'imprime pas lorsque j'écris comme ci-dessus.

2
i am batman

Je vais épargner de dire que c'est une mauvaise pratique d'ajouter des blocs de script personnalisés aux modèles, et de signaler simplement l'erreur (s):

(1) Pour définir le contenu de la variable, vous devez envelopper set dans un {% %} bloquer, pas {{ }}.

(2) Vous voulez très probablement la valeur en tant que chaîne JavaScript, alors n'oubliez pas de l'envelopper dans " ".

Cela résume à

{% set twigVariable = '123456' %}

<script>
  function myFunc() {
    var myJsVar = "{{ twigVariable }}";
  }
</script>

Ce qui devrait bien fonctionner.

4
Mario Steinitz