Fork me on GitHub

Mémento Smarty


Page:
« 1 2 (3) 4 5 »

Smarty : méthodes

La classe xoopsTpl (fichier class/template.php) est une classe dérivée de la classe Smarty.
Toutes les méthodes de la classe Smarty peuvent donc être utilisées.
Sauf exception (voir display ), cette classe n'a pas besoin d'être instanciée, puisque la création de l'objet template est fait par xoops dans header.php :
require_once XOOPS_ROOT_PATH.'/class/template.php';
$xoopsTpl = new XoopsTpl();

assign Smarty assignation d'une valeur
assign_by_ref Smarty assignation d'une valeur par référence
append Smarty ajout d'une valeur
append_by_ref Smarty ajout d'une valeur par référence
display Smarty affichage du template
xoops_template_clear_module_cache xoopsTpl Effacement du cache du module

NB: de nombreuses méthodes (de la classe Smarty, ou de la classe dérivée) ne sont pas décrites, étant utilisées principalement par le core de Xoops.


assign
Permet d'assigner une valeur à  un template.
La valeur est soit une chaine, soit un tableau associatif.

assign (string | array $tpl_var, mixed $value = null)

$tpl_var string ou array nom de la variable de template à  créer
$value mixed valeur à  lui transmettre


Exemples

// Passage d'une paire nom/valeur
$xoopsTpl->assign('displaynav', false);

// Passage d'un tableau associatif
$xoopsTpl->assign(array(
"lang_partner" => _MD_PARTNER,
"lang_desc" => _MD_DESCRIPTION,
"lang_hits" => _MD_HITS, ));

assign_by_ref
Identique à  assign, sauf que la donnée est passée par référence (et non par valeur).

assign_by_ref (string | array $tpl_var, mixed $value = null)

$tpl_var string ou array nom de la variable de template à  créer
$value mixed Référence de la valeur à  lui transmettre

append
Permet d'ajouter une valeur à  une variable tableau d'un template.
Si le tableau n'existe pas, il est d'abord créé.
Dans le template, le tableau peut être parcouru avec la fonction foreach ou section.

append (string | array $tpl_var, mixed $value = null)

Exemples (avec fonction section dans le template)

// Dans le code¨Php
for ( $i = 0; $i < $partner_count; $i++ ) {
$partner[$i]['hits'] = $array_partners[$i]['hits'];
$partner[$i]['title'] = $array_partners[$i]['title'];
$partner[$i]['descr'] = $array_partners[$i]['description'];
$xoopsTpl->append("partners", $partner[$i]);
}

<{* Dans le template* }>
<{section name=partner loop=$partners}>
<tr>
<td><{$partners[partner].title}> <br/><{$partners[partner].descr}></td>
<td><{$partners[partner].hits}></td>
</tr>
<{/section}>



append_by_ref
Identique à  append, sauf que la donnée est passée par référence (et non par valeur)

Exemple (avec boucle foreach dans le template)

// Dans le code¨Php
while (list($id, $name) = $xoopsDB->fetchRow($result)) {
$category = array();
$category['name'] = $name;
$category['id'] = $id;
$sql = 'SELECT faq_id, faq_title FROM '.$xoopsDB->prefix('xoops_faq').' WHERE cat_id='.$id;
$result = $xoopsDB->query($sql);
while ($myrow = $xoopsDB->fetchArray($result)) {
$category['questions'][] = array('id' => $myrow['faq_id'], 'title' => $myrow['faq_title']);
}
$xoopsTpl->append_by_ref('categories', $category);
unset($category);
}

<{* Dans le template* }>
<{foreach item=question from=$category.questions}>
<{$question.title}>
<{* ... suite du code* }>



display
Affichage du template.
Pas nécessaire lorsque l'on utilise l'affichage par le template prinipal (template_main) puisque le footer.php se charge d'exécuter cette action.
A n'utiliser que dans les cas particuliers d'affichage sans le thême (exemples : site closed, redirect header, image_manager,...)

$xoopsTpl->display (string $template)

Exemple

include_once XOOPS_ROOT_PATH.'/class/template.php';
$xoopsTpl = new XoopsTpl();
$xoopsTpl->assign(array('sitename' => $xoopsConfig['sitename'], 'xoops_themecss' => .... ));
$xoopsTpl->xoops_setCaching(1);
$xoopsTpl->display('db:system_siteclosed.html');
exit();

xoops_template_clear_module_cache
Permet de vider le cache du module.

xoops_template_clear_module_cache (int $mid)

$mid int identifiant du module


Exemple
(aprês une m à j dans l'admin d'un module)

include_once XOOPS_ROOT_PATH.'/class/template.php';
xoops_template_clear_module_cache($xoopsModule->getVar('mid'));

Retour au sommaire Smarty


Version Xoops de référence: 2.06
C. Felix AKA theCat le 22/06/04

Page:
« 1 2 (3) 4 5 »
Licence, certains droits réservés
Partager Twitter Partagez cette article sur GG+
  Voir cet article en format PDF Imprimer cet article Envoyer cet article

Naviguer à travers les articles
Article précédent Mémento du développeur (API XOOPS) Base de données et requêtes Article suivant
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

49 Personne(s) en ligne (1 Personne(s) connectée(s) sur Documentations) | Utilisateur(s): 0 | Invité(s): 49 | Plus ...