Précédent   Forum du club des développeurs et IT Pro > PHP > Bibliothèques et frameworks > Templates
Templates Forum d'entraide sur les templates (gabarits) avec PHP. Exemples : Smarty, TinyButStrong... Avant de poster -> FAQ templates et Cours gabarits
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 04/09/2010, 09h50   #1
Joneleth
Invité de passage
 
Jean-Philippe Janssens
Inscription : 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. ^^
Joneleth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2010, 10h25   #2
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 601
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 601
Points : 6 132
Points : 6 132
Envoyer un message via Skype™ à rawsrc
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...
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2010, 11h45   #3
Joneleth
Invité de passage
 
Jean-Philippe Janssens
Inscription : 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
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.
Joneleth est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2010, 15h49   #4
rawsrc
Modérateur
 
Avatar de rawsrc
 
Homme Martin
Dev indep
Inscription : mars 2004
Messages : 2 601
Détails du profil
Informations personnelles :
Nom : Homme Martin
Âge : 36
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Dev indep

Informations forums :
Inscription : mars 2004
Messages : 2 601
Points : 6 132
Points : 6 132
Envoyer un message via Skype™ à rawsrc
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.
rawsrc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/09/2010, 19h00   #5
Joneleth
Invité de passage
 
Jean-Philippe Janssens
Inscription : 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
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.
Joneleth est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 20h29.


 
 
 
 
Partenaires

Hébergement Web