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

NodeJS Discussion :

Spacebars et Helper (Condition {{#if}})


Sujet :

NodeJS

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 13
    Points : 9
    Points
    9
    Par défaut Spacebars et Helper (Condition {{#if}})
    Bonjour à toutes et à tous,

    je travaille actuellement sur un projet en temps réel avec Node.js, et pour faciliter un peu le développement et ne pas réinventer la roue j'ai décidé de travailler avec Meteor. Mais ces derniers temps je galère trop avec une partie du code en fait j'ai ma collection sous Mongo qui se compose des fields suivants : id_oracle , libelle , montant , nbt , region et etat.

    Dans mon template manager j'ai créer un helper pour créer un tableau distinct de région.

    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
    Template.test.helpers({
        //on attribue à la variable regionObject la liste des regions
        //comme Meteor ne supporte pas le fonction distinct dans MongoDB, on a contourné cette requête
        //afin d'obtenir la valeur des regions distincte à l'aide de la librairie underscore.js
        'regionObject': function(){            
            var data = BdPdv.find().fetch();
            var distinctData = _.uniq(data,false, function(d){return d.region});
            return _.pluck(distinctData, "region");
        },
        'isRegion': function(){
     
        },
        'listPdv': function(region){
            allPdv = BdPdv.find().fetch();
            return allPdv;
        }
    });
    Voila j'aimerai afficher pour chaque région la liste des points de ventes, voici mon template.

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    <template name="test">
        <center><img src="logo.png" alt="logo" id="logo"/></center>
        <h1 id="titre1">Test</h1>
        <br> <br> <br>
        <table border="1" id="table1" width=60% class="panel panel-default">
            <thead class="panel-heading">
                <tr>
                    <!--Création du l'entête du tableau-->
                    <th>Region</th>
                    <th>Identifiant</th>
                    <th>Libellé</th>
                    <th>Montant</th>
                    <th>Nombre de transactions</th>
                    <th>Etat</th>
                </tr>
            </thead>
            <tbody>
                <!--on va boucler sur la variable allListObjects qui contiendra tout les documents de la collection-->
                <!-- on utilise spacebars : langage de template pour Meteor similaire a Handlebars-->
                {{#each regionObject}}
                    <tr id="tr{{id_oracle}}">
                        <td classe='region' style="bold">{{this}}</td>
                        <td classe='id_oracle' style="background-color : grey"></td>
                        <td classe='libelle' style="background-color : grey"></td>
                        <td classe='montant'></td>
                        <td classe='nbt'></td>
                        <td classe='etat' id="etat" style="background-color : grey">&nbsp;&nbsp;&nbsp;</td>
                    </tr>
                    {{#each listPdv}}
                        {{#if isRegion}}
                            <tr id="tr{{id_oracle}}">
                                <td classe='region' style="background-color : grey"></td>
                                <td classe='id_oracle'>{{id_oracle}}</td>
                                <td classe='libelle'>{{libelle}}</td>
                                <td classe='montant'>{{montant}}</td>
                                <td classe='nbt'>{{nbt}}</td>
                                <td classe='etat' id="etat" style="background-color : {{etat}}">&nbsp;&nbsp;&nbsp;</td>
                            </tr>
                        {{/if}}
                    {{/each}}
                {{/each}}
            </tbody>
        </table>
        <center>
     
        </center>
    </template>
    Je galère à définir la condition {{#if}} dans le template , j'ai donc créer dans le Helper "isRegion" pour définir cette condition mais je ne sais pas comment récupérer le region courante et le pdv.region courante depuis le template.

    Merci d'avance pour votre aide.

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur de recherche
    Inscrit en
    Janvier 2012
    Messages
    325
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur de recherche
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Janvier 2012
    Messages : 325
    Points : 888
    Points
    888
    Par défaut
    Le #each défini le "data context", tu peux donc récupérer ton "pdv" avec this dans tes helpers.

Discussions similaires

  1. Condition If multiple
    Par M1000 dans le forum ASP
    Réponses: 2
    Dernier message: 01/03/2004, 13h46
  2. [MYSQL] conditions et requetes
    Par sebos63 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 26/02/2004, 16h41
  3. Condition sur debug et release
    Par xave dans le forum MFC
    Réponses: 3
    Dernier message: 04/02/2004, 15h04
  4. Condition et contenu TImage
    Par Detlev_linux dans le forum Langage
    Réponses: 6
    Dernier message: 23/12/2003, 01h00
  5. boucle avec condition d'arret changeante
    Par NicoH dans le forum Langage
    Réponses: 3
    Dernier message: 10/06/2003, 11h48

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