Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 5 sur 5
  1. #1
    Invité de passage
    Profil pro Jean-Philippe Janssens
    Inscrit en
    septembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Jean-Philippe Janssens

    Informations forums :
    Inscription : septembre 2010
    Messages : 5
    Points : 0
    Points
    0

    Par défaut Création de templates

    Bonjour,


    je bosse actuellement sur un CMS en PHP dont on m'a demandé d'un peu optimiser la fonctionnalité.


    J'essaie actuellement de simplifier la façon pour créer des templates.

    Actuellement nous employons le système suivant :

    Le CMS possède un éditeur dans lequel on sélectionne le template voulu. <tiré d'une DB SQL>
    Une fois le bon template sélectionne on trouve une fenêtre dans lequel on peut entrer du html ainsi que des placeholders. <avec la liste des placeholders à gauche>. Le tout est sauvegarder dans la banque de données.

    Ensuite dans le code php je fais un truc genre

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
     
    function GetTemplate($templatename)
    {
    $template = //query sql "Select * from templates where name='$templatename' ';
    return $template;
    } 
    //Donc j'obtiens le squelette
    //ensuite je remplace les placeholders avec str_replace
     
    function GetItems()
    {
    $query = //Select * from matable where ...
    $template=$this->GetTemplate($templatename);
    while ($query->fetchInto($item,DB_FETCHMODE_ASSOC))
    {
    $objet=$template;
    $objet= str_replace("{PLACEHOLDER}",$item['colonne'],$objet);
    // a répéter pour chaque valeur
    $content.=$objet;
    }
    return $content;
    }
    Cela fonctionne bien mais la création des templates est assez longue et quand un module en a une bonne 100taine je perds un temps fou. Donc je me demande s'il n'y a pas un moyen plus simple pour les créer. (Que ce soit en php ou autre chose.)


    Merci d'avance. ^^

  2. #2
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 616
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 616
    Points : 8 940
    Points
    8 940

    Par défaut

    Salut,

    Tu gagnerais dejà beacoup de temps à l'exécution si tu rappatriais tous les templates en un seul voyage au lieu de faire un GetTemplate() à chaque itération.
    Cela implique que pour une page tu puisses référencer facilement à l'exécution les templates inclus dans la page ainsi que les éventuels templates inclus dans les templates...

  3. #3
    Invité de passage
    Profil pro Jean-Philippe Janssens
    Inscrit en
    septembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Jean-Philippe Janssens

    Informations forums :
    Inscription : septembre 2010
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    Merci pour cette réponse.


    Je suis d'accord, pour l'instant nous utilisons beaucoup trop de query.

    Après je me demande s'il ne serait pas plus simple de faire un gros template en XSLT (par exemple) via l'editeur de templates plutot que de faire une centaine de petits templates, parce que entrer tout dans la banque de données prend un temps fou.

  4. #4
    Modérateur
    Avatar de rawsrc
    Homme Profil pro Martin
    Dev indep
    Inscrit en
    mars 2004
    Messages
    3 616
    Détails du profil
    Informations personnelles :
    Nom : Homme Martin
    Âge : 38
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : mars 2004
    Messages : 3 616
    Points : 8 940
    Points
    8 940

    Par défaut

    C'est comme tout, faire un gros template pourquoi pas mais il faut se méfier du code monolithique. En l'état actuel, je pense qu'il faudrait voir comme tu le suggère s'il n'y aurait pas une manière judicieuse et logique de regrouper des petits templates afin d'en réduire le nombre. Parce qu'inclure une centaine de template pour monter une page web relève d'un tour de force que je n'ai jamais vu auparavant

    Je ne te cache pas que faire du template pour faire du template ça ne sert à rien à part pour faire chuter les perfs.

  5. #5
    Invité de passage
    Profil pro Jean-Philippe Janssens
    Inscrit en
    septembre 2010
    Messages
    5
    Détails du profil
    Informations personnelles :
    Nom : Jean-Philippe Janssens

    Informations forums :
    Inscription : septembre 2010
    Messages : 5
    Points : 0
    Points
    0

    Par défaut

    Merci pour tes conseils.


    Je ne compte pas réduire tout à un template mais bien regrouper ce qui peut l'être. Faire 10 templates différents parce que un arbre à 5 niveaux donc chaque branche peut renfermer ou lien ou pas est peu judicieux à mon avis. Je dois pouvoir faire ça en un.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •