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

Langage PHP Discussion :

Imbriquer des blocs avec Hyla tpl [PHP 5.0]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut Imbriquer des blocs avec Hyla tpl
    Bonjour ,
    je viens de lire toute la doc de hyla tpl et je ne trouve pas la solution a mon problème, alors j'explique
    j'essai de mettre a jour un forum que j'avais crée en intégrant un système de template (Hyla tpl)

    le soucis c'est que je n'arrive pas a imbriqué les blocks de la façons suivante avec hyla tpl:

    CATEGORIE 1
    sous cat 1
    sous cat 2
    sous cat 3

    CATEGORIE 2
    sous cat 1
    sous cat 2
    sous cat 3

    CATEGORIE 3
    sous cat 1
    sous cat 2
    sous cat 3
    … etc etc

    voici mon code php :

    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
    require 'tpl/hyla_tpl.class.php';
    $tpl = new Hyla_Tpl('tpl');
    $tpl->importFile('../forum.html');
     
    while($ResSQLFORUM=$SQLFORUM->fetch()){
     
     
        if($CATEGORIE!=$ResSQLFORUM['NomCategorie']){
           $CATEGORIE=stripslashes(htmlspecialchars($ResSQLFORUM['NomCategorie']));
           $FORUM='';
           echo '<strong>'.$CATEGORIE.'</strong><br>';
     
     
             $tpl->setVar('Cat', $CATEGORIE.'<br>');
             $tpl->render('line');
     
            }
     
     
            if($FORUM!=$ResSQLFORUM['NomForum']){
            $FORUM=$ResSQLFORUM['NomForum'];
    	echo stripslashes(htmlspecialchars($ResSQLFORUM['NomForum'])).'<br>';
     
            $tpl->setVar('For', $FORUM.'<br>');
            $tpl->render('line2');
     
            }
     
           echo $tpl->render();

    et voici le code hml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <!-- BEGIN line -->
     
    <!-- IF line -->
     
    {$Cat}
     
    <!-- BEGIN line2 -->
     
     <!-- IF line -->
     
          {$For}
    <!-- END line2 -->
    <!-- END line -->

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    qu'est-ce que tu obtiens actuellement ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    Bonjour Celira,

    actuellement j'obtiens un affichage comme ça :

    CATEGORIE
    sous categorie1
    CATEGORIE
    sous categorie2
    CATEGORIE
    sous categorie3
    …etc etc

    En fait il me met autant de "CATEGORIE" qu'il y a de "sous catégorie" je sais pas si tu comprend ce que je veux dire.

  4. #4
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Je ne connais pas Hyla, mais est-ce normal que tu ais deux fois <!-- IF line --> dans ton template ?
    Instinctivement, j'aurais mis un <!-- IF line2 --> pour le 2e.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2009
    Messages
    188
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 188
    Par défaut
    oui c'est normal en faite c'était le dernier essai que j'avais effectuer mai a la base c'est vrais que c'était <!-- IF line --> et <!-- IF line2 -->

    mai sa change rien c'est le même problème

  6. #6
    Membre éclairé
    Homme Profil pro
    Développeur PHP
    Inscrit en
    Mai 2014
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur PHP
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 37
    Par défaut
    Bonjour keusty,
    Moi je ferais plus un truc comme ça ;
    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
     
    require 'tpl/hyla_tpl.class.php';
    $tpl = new Hyla_Tpl('tpl');
    $tpl->importFile('../forum.html');
     
    $CATEGORIE= '';
    while($ResSQLFORUM=$SQLFORUM->fetch()){
     
        $tpl->setVar('Cat', stripslashes(htmlspecialchars($ResSQLFORUM['NomCategorie'])).'<br>');
     
        if($CATEGORIE!=$ResSQLFORUM['NomCategorie']){
           $CATEGORIE=$ResSQLFORUM['NomCategorie'];
           $FORUM=$ResSQLFORUM['NomForum'];
           $tpl->setVar('For', $FORUM.'<br>');
           $tpl->render('linecat');
        }
     
     
        if($FORUM!=$ResSQLFORUM['NomForum']){
            $FORUM=$ResSQLFORUM['NomForum'];
            $tpl->setVar('For', $FORUM.'<br>');
        }
        $tpl->render('line');
     
           echo $tpl->render();
    }
    On affiche la lligne catégorie que si l'on a changé de catégorie et on affiche le block line en permanence.
    Le template ressemble alors à cela.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <!-- BEGIN line -->
        <!-- BEGIN linecat -->
            <strong>{$Cat}</strong>
                {$For}
        <!-- ELSE linecat -->
                {$For}
        <!-- END linecat -->
    <!-- END line -->
    PS : j'ai supprimé les echo qui affichaient les lignes hors template.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    if($CATEGORIE!=$ResSQLFORUM['NomCategorie']){
           $CATEGORIE=stripslashes(htmlspecialchars($ResSQLFORUM['NomCategorie']));
    Ton $CATEGORIE était différent puisque tu le modifiais au moment de l'affectation.

    Bon ok j'aurais pu commenter. :p

    J'espère que ça te conviens.

    A dispo

    JFFM

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

Discussions similaires

  1. Protéger des blocs avec paramètres
    Par Manou26 dans le forum Simulink
    Réponses: 10
    Dernier message: 10/11/2014, 18h33
  2. faire des blocs avec dreamweaver
    Par luchermannguehi dans le forum Dreamweaver
    Réponses: 2
    Dernier message: 12/04/2010, 18h59
  3. Composant connectant des bloc avec des splines
    Par Jeff Nodrev dans le forum wxWidgets
    Réponses: 4
    Dernier message: 18/03/2008, 14h35
  4. Difficulté avec le positionnement des blocs en absolute
    Par WA007 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 24/11/2007, 19h06
  5. centrer un bloc avec des div+css
    Par fabrisss dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 27/10/2005, 23h41

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