Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > Templates > Smarty
Smarty Forum d'entraide sur le moteur de templates Smarty. Avant de poster -> FAQ Smarty et Cours Smarty
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/06/2006, 14h57   #1
Membre éclairé
 
Avatar de speedev
 
Développeur Web
Inscription : mai 2006
Messages : 936
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2006
Messages : 936
Points : 347
Points : 347
Par défaut Automatiser les appels des fichiers externes (CSS/JS etc)

Comme le dit si bien le titre, je cherche un système d'appel des CSS et JS externes qui soit automatiser
.
Actuellement j'utilise le moteur de templates Smarty et je stocke les appels des fichiers externes dans des variables smarty ainsi dans mon modules smarty j'ai cette exemple parcelle de code:

Code :
1
2
3
$this->assign("css_all"  , "<link rel='stylesheet' type='text/css' href='".$this->get_template_vars("style_dir")."bloc.css'>\n".
									"<link rel='stylesheet' type='text/css' href='".$this->get_template_vars("style_dir")."body.css'>\n".
									"<link rel='stylesheet' type='text/css' href='".$this->get_template_vars("style_dir")."lien.css'>\n\n");
Et dans mon TPL (template) j'appelle uniquement cette variable dans le <head>:

Ainsi tous les styles css (ou js etc...) sont générés automatiquement par une variable ce qui allège le code pour le développeur (mais ne changeant en rien l'interprétation du navigateur biensur).

Mais je cherche à dynamiser encore plus l'appel de ces fichiers externes de telle sorte que pour telle template, tel ou tel fichier sera appelés:
- Je pourrais conserver mon système en affectant une variable par groupe de fichiers ou par fichier carrément ({$body.css}{$controle_apge.js}...)
- Aucun intérêt à tout stocker en base de données puisqu'il faudrait à chaque fois pour le développeur d'accéder à la base pour la mettre à jour...a moins que peut-être un système pratique existe?
- Néanmoins, une fonction appelées directement dans le tpl, à laquelle on lui passe le nom du fichier à insérer est envisageable. du genre: {charge_fic(body,controle_page)}

Mais voyez-vous ou utilisez-vous un autre système de gestion des fichiers externes pour sites web "gigantesques"?
__________________
Développeur indépendant sur technos Web à votre service
speedev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 15h31   #2
Membre éclairé
 
Avatar de speedev
 
Développeur Web
Inscription : mai 2006
Messages : 936
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2006
Messages : 936
Points : 347
Points : 347
Par défaut ok

finalement me suis développé un plugin smarty et paf...on ne peut pas plus pratique ^^!
__________________
Développeur indépendant sur technos Web à votre service
speedev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 16h45   #3
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Smarty integre l'appel de constante... .. .

Code :
1
2
 
<link rel="stylesheet" type="text/css" href="{constant:SITE_CSS_PATH}bloc.css" />
@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 17h00   #4
Membre éclairé
 
Avatar de speedev
 
Développeur Web
Inscription : mai 2006
Messages : 936
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2006
Messages : 936
Points : 347
Points : 347
Oui mais c'est pour débuter ça, c'est pas assez automatisé pour l'envergure de mon site! Comme j'utilise un script de configuration de l'instance Smarty, j'ai développé un plugin smarty, càd une fonction à laquelle je passe le ou les fichiers à ajouter, et ça génère le code automatiquement. Ainsi:

Code :
{charge_fic fic="body,div,bloc,table,form" typ="css"}
c'est propre et en plus ça brille!
__________________
Développeur indépendant sur technos Web à votre service
speedev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/06/2006, 19h57   #5
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Je vois pas en quoi l'utilisation d'une constante (surement déja définie pour les script) directe dans le template n'est pas assez automatisée... après tu fais comme tu veux l'important étant que ça marche... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/06/2006, 09h54   #6
Membre éclairé
 
Avatar de speedev
 
Développeur Web
Inscription : mai 2006
Messages : 936
Détails du profil
Informations professionnelles :
Activité : Développeur Web

Informations forums :
Inscription : mai 2006
Messages : 936
Points : 347
Points : 347
Tout simplement parceque tu dois appeler cette constante autant de fois que tu as de CSS à appeler
Et que mon plugin permet en une ligne de gérer tous les CSS.
__________________
Développeur indépendant sur technos Web à votre service
speedev est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/06/2006, 13h43   #7
Membre chevronné
 
Avatar de kankrelune
 
Inscription : décembre 2005
Messages : 766
Détails du profil
Informations forums :
Inscription : décembre 2005
Messages : 766
Points : 745
Points : 745
Mouais... entre appeler une constante plusieurs fois ou faire éxécuter à smarty une fonction perso je suis pas sur qu'il y ai une différence en terme de perf... l'appel d'une constante est très rapide en terme d'éxécution... plus rapide qu'une variable donc bon... ça compence le nombre d'appel... .. .

mais comme je l'ais dis l'important c'est que ça marche... .. .

@ tchaOo°
kankrelune est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 22h16.


 
 
 
 
Partenaires

Hébergement Web