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

Bibliothèques et frameworks PHP Discussion :

[OpenTBS] Template PHPB, un petit soucis avec l'inclusion


Sujet :

Bibliothèques et frameworks PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 40
    Points : 28
    Points
    28
    Par défaut [OpenTBS] Template PHPB, un petit soucis avec l'inclusion
    Bonjour à tous,

    Voilà je me suis lancé dans les template après avoir lu sur ce site un petit tuto sympa sur le fonctionnement de base.
    J'ai développé mon système de template mais je me suis vite retrouvé face à une usine à gaz ... Stop on repart sur un moteur, ça devrait allé mieux.

    Je fais des programmes en tant qu'amateur alors je me suis orienté vers PHPB pour la simplicité de mise en oeuvre

    Tout va bien c'est en effet très très facile de prise en main mais voilà un hic !

    Je possède en template pour l'aspect général du site et un autre variable pour la zone centrale de la page.

    J'imbrique donc deux rendus qui dans le cas de mon moteur perso étaient structurés de la façon suivante :

    - je crée mon code HTML à partir du moteur central + skin central -> le tout stocké dans une variable $centre

    - je crée ensuite mon code HTML du skin général tout en remplacant la variable de template [CENTRE] par le contenu de $centre.

    Je stock le tout dans $rendu et hop mon index.php qui pilote l'E/S du site me fait un echo de $rendu. Ca marche ! (j'espère que vous m'avez compris )


    Mais voilà sous le moteur de template de PHPB c'est pas la même chose !

    - pour le code HTML du centre la compilation du template envoi directos le contenu au navigateur :/ Bref c'est foutu ! J'ai regardé le contenu du framework et en effet la compilation du template passe par la fonction eval() ....


    Vous avez une idée de comment je vais m'en sortir ou bien faut il que je passe par un autre framework ? L'astuce étant de me permettre de pouvoir rendre le template en code HTML et de le stocker dans une variable sans envoi au navigateur.


    Merci d'avance

  2. #2
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 223
    Points : 15 516
    Points
    15 516
    Par défaut
    Citation Envoyé par Falconpage Voir le message
    pour le code HTML du centre la compilation du template envoi directos le contenu au navigateur
    tu peux nous montrer le code que tu utilises ?
    regarde comment est sont utilisés les templates du forum phpBB, il y aussi plusieurs fichiers et le résultat d'un template est ensuite inclus dans un autre

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    Le code ça va être un peu gros à mettre ici

    Mais en gros ça donne ça,

    - on me demande d'afficher la liste des membres :

    1/ J'appelle la fonction liste des membres qui va générer le code HTML de cette zone située au centre de la page

    2/ Le code est retourné par la fonction et évalué dans le template principal.


    Mon problème majeur est l'inclusion, au centre, d'un code HTML créé par un autre template.
    Pour voir ce que donne une beta qui tourne avec mon template perso :

    http://livehfr.game-france.com/NewLiveHFR/ (c'est amateur )

    Le template principale c'est toute la page avec un blanc entre "NEWS" et "le copyright" : le template comporte une variable de template [CENTRE] dans ce blanc.

    Le code HTML est évalué en fonction du menu appelé en haut pour [CENTRE] : je charge le template associé au menu je le rend en HTML et je renvois le tout pour évaluer le template principal (j'espère être clair )

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    Après je m'y prend peut être carrément mal et qu'il vaudrait mieux que j'évalue un template complet au lieu d'éclater en plusieurs morceaux ...

    Le but pour moi au départ étant de ne pas être géné le jour où je reprend le graphisme du site.

  5. #5
    Expert éminent sénior
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 223
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 223
    Points : 15 516
    Points
    15 516
    Par défaut
    j'ai regardé le code de phpBB et si j'ai bien compris çà se passe comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    $template->set_filenames(array(
    	'pagePrincipale' => 'page.tpl'
    	'templateAMettreAuCentre' => 'centre.tpl'
    ));
     
    $template->assign_var_from_handle('CENTER', 'templateAMettreAuCentre');
     
    $template->pparse('pagePrincipale');

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    Je viens de m'installer phpBB2 sur mon serveur de test : je vais étudier cela de plus prêt. C'est vrai que comme ça je verrai bien ce que fait ce moteur !
    Mais d'après ce que je viens de voir et ton exemple ça ne colle pas à mon fonctionnement : c'est dommage, je vais revoir mon code.

    Dès que ça marche je viens ici poster ma solution histoire que cela puisse servir à d'autre.

    Merci en tout cas !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    $template->set_filenames(array(
    	'pagePrincipale' => 'page.tpl'
    	'templateAMettreAuCentre' => 'centre.tpl'
    ));
     
    $template->assign_var_from_handle('CENTER', 'templateAMettreAuCentre');
     
    Pas bête ça, je vais explorer cette piste ^^
     
    $template->pparse('pagePrincipale');

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    Voilà ce que j'ai trouvé pendant mes recherches au sujet de ta solution :

    http://forums.phpbb-fr.com/viewpost_...8c65637#768548

    Voir le point III.3.7 Inclusion d' un template dans un autre template pour mon cas.

    Bref ce soir j'implémente ça dans mon code et je vous dis si tout fonctionne : merci encore pour le tuyau !

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    40
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 40
    Points : 28
    Points
    28
    Par défaut
    Bonsoir,

    Voilà j'ai appliqué les inclusions comme indiqué : on peut même aller au delà d'une inclusion : bref un vrai bonheur à manipuler !
    J'ai juste du remplacer mes fonctions par des include l'orientation du fonctionnement étant différent : un seul calcul de rendu à la fin.

    Vous l'aurez compris mon problème est résolu !
    Merci en tout cas pour le coup de pouce et à très bientôt !

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

Discussions similaires

  1. petit soucis avec mon graveur
    Par Vador dans le forum Périphériques
    Réponses: 8
    Dernier message: 02/11/2005, 15h58
  2. petit soucis avec les listes
    Par Death83 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 03/09/2005, 11h08
  3. Petit souci avec clause where
    Par ybruant dans le forum SQL
    Réponses: 1
    Dernier message: 21/07/2005, 23h10
  4. petit souci avec des variables avec des fonctions psql
    Par dust62 dans le forum PostgreSQL
    Réponses: 4
    Dernier message: 02/04/2005, 14h45
  5. [DEBUTANT] petits soucis avec un prgm de chat
    Par LechucK dans le forum MFC
    Réponses: 8
    Dernier message: 19/01/2004, 17h52

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