Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

SERTPL > CLASS PHP5 POUR GERER LES TEMPLATES SIMPLEMENT


Information sur la source

Catégorie :Class et Objet ( POO ) Classé sous : SER, Templates, simple, Gzip Niveau : Initié Date de création : 12/02/2008 Date de mise à jour : 06/06/2008 12:28:47 Vu / téléchargé: 3 384 / 138

Note :
Aucune note

Commentaire sur cette source (6)
Ajouter un commentaire et/ou une note

Description

Je reste dans la simplicité mais pour une Class de templates.

Fonctions :
- Plusieurs instanciations Possible, mais seule la première définit le template utilisé.
    - Les autres instances ne peuvent pas modifier la page précédente (voir exemple dans la source)
- Compression des pages en GZIP si le client l'accepte
Méthodes :
    Définit le template
    SetTemplate($strTemplate)
    Ajoute une page à une position
    AjouterPage($Position, $Page)
    Ajoute une page disponible dans le dossier du template choisit
    AjouterPageTPL($Position, $Fichier)
    Ajoute une page de styles CSS, ou Java script dans la balise HEAD
    AjouterCSS($Fichier)
    AjouterJS($Fichier)
    Ajouter un Texte
    AjouterTexte($Position, $Text, $RECURCIVE = FALSE)
    Charge l'index
    ChargerIndex($Fichier = 'index')
Méthode d'éléments :
    AjouterElement($Position, $Element, $Text = FALSE);
 

Source

  • <?php
  • // Exemple fichier index.php:
  • $TPL = new XTPL();
  • $TPL -> SetTemplate('site');
  • $TPL -> ChargerIndex();
  • $TPL -> AjouterPageTPL('MENU_GAUCHE', 'menu');
  • $TPL -> AjouterTexte('MENU_TITRE', 'Titre du menu');
  • unset($TPL);
  • ?>
<?php
// Exemple fichier index.php:

$TPL = new XTPL();
$TPL -> SetTemplate('site');
$TPL -> ChargerIndex();
$TPL -> AjouterPageTPL('MENU_GAUCHE', 'menu');
$TPL -> AjouterTexte('MENU_TITRE', 'Titre du menu');
unset($TPL);
?>

Conclusion

SER = Simple Et Rapide
Ancien nom XTPL

Merci CODEFALSE et MALALAM pour vos commentaires ; ils sont pris en compte :)

Lors de plusieurs instanciations :
Le constructeur prend comme paramètre la position de l'instanciation.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Historique

12 février 2008 12:00:04 :
- Correction de l'exemple
06 juin 2008 12:28:47 :
Mise à jour du code source : - Ajout des Éléments - Modification du constructeur / destructeur - Ajout d'un exemple

Commentaires et avis

signaler à un administrateur
Commentaire de codefalse le 12/02/2008 20:59:55 administrateur CS

Yop ! :)
Quelques remarques
"XTPL_DEBEUG" ?? en anglais on dit debug :p
Dans ta classe principale, je suis pas sur d'avoir compris. Tu utilise une sorte de singleton dans le constructeur ? Si oui tu sais que le but du singleton, c'est de ne pas instancier la classe ?

J'ai une remarque pour toi : Si je veux afficher plusieurs valeurs (genre j'ai un tableau contenant une liste de produits pour mes courses), je fait comment ?
Et si maintenant je veux qu'une ligne sur deux soit d'une autre couleur ?

Jette un oeil du coté de TBS, qui est simple et leur documentation te permettra de comprendre tous les éléments qui manquent sur ton code à toi :)

signaler à un administrateur
Commentaire de Astalavista le 12/02/2008 21:19:52

En-faite, mon constructeur est fait pour que plusieurs instance peuvent être fait pour pas a avoir a la passer par référence a chaque classe qui l'utilisent. Donc c'est uniquement la première instance qui arrête la "bufferisation".
Au niveau de ce type d'affichage, tout ça doit être fait du coter de la programmation. Ou sinon, un type de ligne par fichier template (exemple : Ligne_Bleu.tpl, Ligne_Blanche.tpl, Entete.tpl), après on ajoute l'en-tête, puis on affiche ce qu'on veut dedans, puis la ligne blanche, et ce qu'on affiche dedans, ...

signaler à un administrateur
Commentaire de malalam le 13/02/2008 07:59:42 administrateur CS

Hello,

quel est l'intérêt d'appeler plusieurs objets, dans ton cas ?

signaler à un administrateur
Commentaire de Astalavista le 13/02/2008 12:44:28

Par exemple : J'ai un index qui appel ma class pour construire l'index.
J'ai une classe qui me génère les menus, je fait appel a ma class menu, qui elle, se créé une instance de mon template pour afficher ses menu.
Au final cela permet de pas avoir l'obligation de passer l'instance principal a chaque class ou fonctions.

signaler à un administrateur
Commentaire de codefalse le 13/02/2008 14:04:36 administrateur CS

Du coup si tu fait un getInstance, ca marche pareil, mais c'est plus propre

public static function getInstance () {
    if ( isset (self::instance))
        self::instance = new taClasse ();

    return self::instance;
}

pour faire simple

Et tu aura donc une propriété statique instance

signaler à un administrateur
Commentaire de Astalavista le 06/06/2008 23:30:06

Voila, une mise a jour de ma class. Alors Malalam et CodeFalse, vous en pensez quoi ?

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

Un p'tit code simple mais je sais pas comment le faire ! [ par N e x u m ] Salut,je voudrais avoir un simple code SANS MYSQL (Si possible) Qui garde le même design dans chaque pageAdmettons on a un design (Un look, un interfa Help me....travaille en php "simple" mais payé.....!! [ par Maniac ] Salut,voila je n'y connais rien du tout en php, mais je dois "simplement" faire un forum pour un client pour qui je developpe son site...Si qq1 savait code simple pour formulaire [ par bernard ] bonsoir à tous, je suis débutant de chez débutant et j'ai besoin d'aide.je voudrais réaliser un programme en php.il s'agit d'un formulaire où le visit PROBLEME SIMPLE [ par g0belin ] sa me repond sa---------------------------ERREUR--------------------Réponse serveur SQL : You have an error in your SQL syntax near '@msn.com, 1234567 Templates [ par TuXAveRy ] Bonjour,J'ai bien lus votre articles (qui est super) sur les templates, mais j'ai encore quelque probleme de compréhention.Je vais essayé de faire que requête toute simple! [ par angelique ] Bonjour,Pour la requête suivante : select * from matable where monchamp_valeur = '0.96' il (mysql) me répond que ma requête a été correctement exécuté petite question tte simple [ par ludlu ] je veux faire un include d'un fichier qui ne se trouve pas dans le meme repertoire que la page en cours . J'utilise cette expression qui ne marche pas truc simple [ par eax ] salut!je veux mettre le contenu de $nvsc_titre dans une base de données, je précise qu'il vient d'un formulaire donc je fais:$nvsc_titre=htmlspecialch Agenda tout simple mais spécifique??? [ par Mourte ] Bonjour à tous,Je recherche un agenda simple dans lequel je peux mettre mes rendez-vous et qui m'envoie un mail le matin pour me dire les rendez-vous Code php simple en asp ou cfm... [ par fabiin ] Salut,je ne programme ni en asp ni en cfm, mais j'ai besoin de ce code php en asp et cfm :)&lt;?$date1 = mktime(18,33,0,10,30,2003);$date2 = mktime(18


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,390 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.