Utilisation et doc technique

Une classe de templates inspirée de PhpBB pour gérer l'affichage d'un site WEB à l'extérieur du code PHP.

Utilisation et doc technique

Nouveau messagede Nasgektw le Sam 15 Déc 2007 23:19

Voici des petites explications pour utiliser ces templates. Des fichiers d'exemples vont suivre, bon code :wink:

Utilisation standard (hors boucles imbriquées) :
  1. Créer un objet Template :
    Code: Tout sélectionner
    $tpl = new Template(); // Si on ne connaît pas encore le fichier de template
    $tpl->setFile("fichier.tpl"); // On doit alors ensuite renseigner le fichier de temaplate

    $tpl = new Template("fichier.tpl"); // Pour charger le fichier de template directement
  2. Renseigner les variables :
    • Les variables globales :
      Code: Tout sélectionner
      $tpl->setVar("MA_VARIABLE", "ma valeur"); // Pour renseigner une seule variable globale

      $tpl->setVars(array("MA_VARIABLE" => "ma valeur", "MON_AUTRE_VARIABLE" => "mon autre valeur")); // Pour renseigner plusieurs variables globales
    • Les boucles :
      Code: Tout sélectionner
      // Pour renseigner une seule occurence de la boucle
      $tpl->setLoopVar("ma_boucle", array("MA_VARIABLE_BOUCLE1" => "ma valeur", "MA_VARIABLE_BOUCLE2" => "ma valeur2"));

      // Pour renseigner plusieurs occurences de la boucle
      $tpl->setLoopVars("ma_boucle", array(array("MA_VARIABLE_BOUCLE1" => "ma valeur1.1",
      "MA_VARIABLE_BOUCLE2" => "ma valeur1.2"), array("MA_VARIABLE_BOUCLE1" => "ma valeur2.1",
      "MA_VARIABLE_BOUCLE2" => "ma valeur2.2")));
    • Les conditions :
      Code: Tout sélectionner
      if($ok)

      $tpl->setLoopVar("mon_affichage_si_ok", array("MA_VARIABLE" => "ma valeur"));

      else

      $tpl->setLoopVar("mon_affichage_si_pas_ok", array("MA_VARIABLE" => "ma valeur"));

      // On remarque ici qu'on renseigne juste 2 boucles à 0 ou 1 élément
    • Les blocks temps réels :
      Code: Tout sélectionner
      $tpl->setBlockVars("mon_block", array("MA_VARIABLE1" => "ma valeur1", "MA_VARIABLE2" => "ma valeur2"));

      // Lors de l'exécution de setBlockVars, le block "mon block"
      // sera affiché. On peut ainsi cumuler template temps réel et template normal
  3. Afficher l'interface si ce n'est pas un template temps réel :
    Code: Tout sélectionner
    $tpl->parse();

Comment renseigner les valeurs pour les boucles imbriquées :
  1. Renseigner les valeurs:
    Code: Tout sélectionner
    /* Ajout d'une donnée :
    le premier argument est le nom de la boucle imbriquée
    le second est l'identifiant de l'objet sur lequel ajouter cette donnée
    le troisième est le nom de la variable de template
    le dernier est la valeur de la variable de template */
    $tpl->addData("nom du type de donnee", $identifiant, "MA_VARIABLE", "ma valeur");

    // Ajout de plusieurs données
    $tpl->addDatas("nom du type de donnee", $identifiant, array("MA_VARIABLE1" => "ma valeur1", "MA_VARIABLE2" => "ma valeur2"));

    /* Ajout d'une sous boucle
    "ma_sous_boucle" est le nom de la sous boucle ;-)
    "mon type de sous donnees" doit être un type de données (ajouté avec addData ou addDatas)
    $id1, $id2, $id3... sont les identifiants des objets de "mon type de sous donnees" devant apparaître dans la sous boucle
    */

    $tpl->addData("nom du type de donnee", $identifiant, "ma_sous_boucle", array("mon type de sous donnees" => array($id1, $id2, $id3...));
  2. Renseigner la boucle de départ :
    Code: Tout sélectionner
    /*
    La première boucle "nom boucle" contiendra tous les objets de type "nom du type de donnee" (renseignés avec addData ou addDatas)
    */
    $tpl->saveAssignData("nom boucle", "nom du type de donnee");

Autres fonctions utiles :
Code: Tout sélectionner
$tpl->getCompiled(); // Récupère le code prêt à l'affichage de la template
$tpl->setReload($bool); // Spécifie si un fichier de template doit être chargé
$tpl->setUncompiled($string); // Renseigne le code non compilé de la template (à la place de le chercher dans un fichier)
// Remarque : pour utiliser cette fonction, faire un setReload(false) avant.
$tpl->clear(); // Supprime toutes les assignations de variables de templates
// Ne supprime pas les données entrées avec addData et addDatas


Joint : le module, faites en bon usage :wink:
Fichiers joints
template.zip
template.php
(9.17 Ko) Téléchargé 318 fois
Image
"A vaincre sans péril, on évite des ennuis !" :p
Avatar de l’utilisateur
Nasgektw
Administrateur du site
 
Messages: 7
Inscription: Sam 15 Déc 2007 22:08
Localisation: France

Retourner vers Templates

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron