IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Symfony PHP Discussion :

[twig] Déclaration et calcul avec variables [2.x]


Sujet :

Symfony PHP

  1. #1
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Points : 219
    Points
    219
    Par défaut [twig] Déclaration et calcul avec variables
    Bonjour,
    je cherche à faire des calculs sur une variable que je déclare dans twig. Les calculs se font bien, mais les valeurs ne restent pas...
    Je crée une variable dans mon template et je fais le calcul dans un if et en sortie de if, il n'y a plus rien dedans...
    Voici mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    {% set pourcent = 0 %}
    <br>pourcent1 : {{ pourcent }}<br>
    {% block section %}
        {% if section == '0' %}
            {% set pourcent = 1/39*100 %} <br>pourcent2 : {{ pourcent }}<br>
        {% elseif section == '1' %}
            {% set pourcent = 2/39*100 %} <br>pourcent2 : {{ pourcent }}<br>
        {% elseif section == '2' %}
            {% set pourcent = 4/39*100 %} <br>pourcent2 : {{ pourcent }}<br>
        {% elseif section == '3' %}
            {% set pourcent = 19/39*100 %} <br>pourcent2 : {{ pourcent }}<br>
        {% elseif section == '4' %}
            {% set pourcent = 39/39*100 %} <br>pourcent2 : {{ pourcent }}<br>
        {% elseif section == 'profile' %}
            {% set pourcent = 1/39*100 %} <br>pourcent2 : {{ pourcent }}<br>
        {% elseif section == 'site' %} 
            {% set pourcent = 1/39*100 %} <br>pourcent2 : {{ pourcent }}<br>
        {% endif %}
    {% endblock %}
    <br>pourcent3 : {{ pourcent }}<br>
    et ça donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    pourcent1 : 0
     
    pourcent2 : 2.5641025641026
     
    pourcent3 : 0
    Pourquoi en sortie de if ma valeur de "pourcent" est retournée à 0 ?
    Merci de votre aide.
    Jérôme

  2. #2
    Membre expert
    Avatar de dukoid
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2012
    Messages
    2 100
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2012
    Messages : 2 100
    Points : 3 004
    Points
    3 004
    Par défaut
    certainement parce que ton "if" est dans le block.

    apparemment le block te sépare des paramètres de la page. je ne connais pas la solution

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2009
    Messages : 875
    Points : 1 313
    Points
    1 313
    Par défaut
    Un bloc est utilisable un peu partout. Il a accès aux variables extérieurs par défaut. Essaye ce code tu devrais comprendre:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    {% set pourcent = 1 %}
    <br>pourcent1 : {{ pourcent }}<br> //renvoit 1
    {% block sectiontest %}
        <br>pourcent1 : {{ pourcent }}<br> //renvoit 1
        {% set pourcent = 2 %}
        <br>pourcent1 : {{ pourcent }}<br> //renvoit 2
    {% endblock %}
    <br>pourcent3 : {{ pourcent }}<br> //renvoit 1
    {% endblock %}
    A mon avis ton problème viens de la mauvaise utilisation des blocs twig. Qu'est ce que tu essayes de faire enfait?

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Mars 2005
    Messages
    546
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 546
    Points : 219
    Points
    219
    Par défaut
    Merci à vous 2 pour vos retours !
    J'ai fait le test et j'ai mis mes déclarations et affectation dans le bloc et en effet c'est mieux
    Donc j'en déduis que twig est capable de récupérer les variables déclarées hors du bloc, mais ne renvoie pas les valeurs quand il sort du bloc.
    Je voulais faire une progress bar, mais je vais faire autrement.
    Merci !
    Jérôme

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réaliser un calcul avec variable
    Par remi2305 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 12/03/2015, 10h16
  2. Réponses: 49
    Dernier message: 21/12/2012, 13h13
  3. [CR XI] Calcul avec variable partagée
    Par sat478 dans le forum SAP Crystal Reports
    Réponses: 7
    Dernier message: 18/09/2010, 16h14
  4. Formule de calcul avec variable ?
    Par clarisse dans le forum Excel
    Réponses: 5
    Dernier message: 19/09/2007, 14h27
  5. [VB6] Déclaration d'un tableau avec variable en paramètre.
    Par méphistopheles dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 23/10/2005, 12h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo