Voici la première version du guide Smarty, le regroupement de la documentation concernant Smarty contenue dans le dossier /module/pnrender/plugins/
add_additional_header
allowedhtml
closetable2
closetable
languagelist
modstyleslist
opentable2
opentable
pager
pagerabc
pnbannerdisplay
pnblock
pnblockgetinfo
pnblockshow
pnconfiggetvar
pndebug
pngetbaseurl
pngetcurrenturi
pngethost
pngetstatutmsg
pnimg
pnmanuallink
(modifier.)htmlspecialchars
(modifier.)pndate_format
(modifier.)pnml
(modifier.)pnmodcallhooks
(modifier.)pnvarcensor
(modifier.)pnvarprepfordisplay
(modifier.)pnvarprepforstore
(modifier.)pnvarprephtmldisplay
add_additional_header
fonction:
Ajoute une information entre les balises <head></head>
exemple:
<!--[add_additional_header header='<title>This is the title</title>']-->
<!--[add_additional_header header=$title]-->
allowedhtml
fonction:
Affiche les balises html disponibles
paramètres:
assign: variable pouvant être définie avec les différentes informations en sortie.
exemple:
<!--[allowedhtml]-->
closetable2
fonction:
code définissant la fermeture de la table2 définie dans theme.php
exemple:
<!--[closetable2]-->
closetable
fonction:
code définissant la fermeture de la table définie dans theme.php
exemple:
<!--[closetable]-->
languagelist
fonction:
Affiche un menu déroulant permettant de choisir une langue parmi celles disponibles
paramètres:
assign: variable pouvant être définie avec les différentes informations en sortie.
name: Nom du contrôle
selected: Langue pré sélectionnée
installed: if set only show languages existing in languages folder ???
exemple:
<!--[languagelist name=language selected=eng]-->
modstyleslist
fonction:
Affiche un menu déroulant des différentes feuilles de styles disponibles pour un module.
paramètres:
modname Le nom du module correspondant à ce choix de feuille de style
assign: variable pouvant être définie avec les différentes informations en sortie.
name: Nom du contrôle.
selected: Valeur pré sélectionnée
exemple:
<!--[modstyleslist name=modulestylesheet selected=navtabs.css]-->
opentable2
fonction:
code définissant l'ouverture de la table2 définie dans theme.php
exemple:
<!--[opentable2]-->
opentable
fonction:
code définissant l'ouverture de la table définie dans theme.php
exemple:
<!--[opentable]-->
pager
fonction:
créez un résultat de pagination pour pouvoir passer en revue de longues listes
paramètres:
mixed $rowcount nombre total des articles à paginer dans l'intervalle (s'il y a un tableau=>nombre de lignes)
string $show 'page' - pour montrer des numéros de page, 'record' - pour afficher les numéros d'enregistrements (par defaut: records)
int $limit nombre d'éléments par page (si <0 pas de limite)
string $posvar nom de la variable qui contient les données de position, egal à "offset"
string $forwardvars Liste de point-virgule de virgule ou espace,listes de GET et POST des variables pour expédier dans les liens de pagineur. Si non-utilisé: toutes les variables sont expédiées.
string $txt_first sur la première page, n'imprimez pas tous les numéros de pages, juste ce texte. Si cet ensemble est vide, copie tous les numéros de page.
string $img_first sur la première page, n'imprimez pas tous les numéros de pages, juste cette image. Si cet ensemble est vide, copie tous les numéros de page.
boolean $no_first Imprime toute les pages, ne commence pas par txt_firts, équivaut à txt_first défini vide.
string $txt_prev texte pour aller à la page précédente
string $img_prev image pour aller à la page précédente
string $txt_next texte pour aller à la page suivante
string $img_next image pour aller à la page suivante
string $txt_pos position du texte: 'top', 'bottom', 'middle/side'
string $class_num classe pour les liens: (tags <a>)
string $class_numon classe pour la page active
string $class_text classe pour le texte
string $separator chaine de caractères à mettre entre les numéros de page exemple:" - " donne 1 - 2 - 3
int $firstpos Numéro d'enregistrement de la première position
int $shift Décalez les valeurs enregistrées avec ceci (de manière générale, les pages enregistrées commencent à 0 mais affichent 1!)
exemple:
<--[pager show="page" rowcount=$pager.numitems limit=$pager.itemsperpage posvar=startnum shift=1]-->
pagerabc
fonction:
Affiche un menu avec l'ordre alphabétique
paramètres:
string $posvar name of the variable that contains the position data, eg "letter"
cvs $forwardvars comma- semicolon- or space-delimited list of POST and GET variables to forward in the pager links. If unset, all vars are forwarded.
cvs $additionalvars comma- semicolon- or space-delimited list of additional variable and value pairs to forward in the links. eg "foo=2,bar=4"
string $class_num class for the pager links (<a> tags)
string $class_numon class for the active page
string $separator string to put between the letters, eg "|" makes | A | B | C | D |
string $printempty print empty sel ('-')
string $lang langue
array $names values to select from (array or csv)
string $skin use predefined values (hu - hungarian ABC)
exemple:
<!--[pagerabc posvar="abc" class_num="dl" class_numon="header" separator=" - " names="A,B;C,D;E,F;G,H;I,J;K,L;M,N,O;P,Q,R;S,T;U,V,W,X,Y,Z"]--> donne
<span class="pager">
<a class="header" href="index.php?module=Example&abc=A,B"> A,B
</a> - <a class="dl" href="index.php?module=Example&abc=C,D"> C,D
</a> - <a class="dl" href="index.php?module=Example&abc=E,F"> E,F
</a> - <a class="dl" href="index.php?module=Example&abc=G,H"> G,H
</a> - <a class="dl" href="index.php?module=Example&abc=I,J"> I,J
</a> - <a class="dl" href="index.php?module=Example&abc=K,L"> K,L
</a> - <a class="dl" href="index.php?module=Example&abc=M,N,O"> M,N,O
</a> - <a class="dl" href="index.php?module=Example&abc=P,Q,R"> P,Q,R
</a> - <a class="dl" href="index.php?module=Example&abc=S,T"> S,T
</a> - <a class="dl" href="index.php?module=Example&abc=U,V,W,X,Y,Z"> U,V,W,X,Y,Z
</a></span>
pnbannerdisplay
fonctions: Affiche une bannière
paramètres:
id: identifiant du groupe de bannière défini dans le module bannières
assign: variable pouvant être définie avec les différentes informations en sortie.
exemple:<!--[pnbannerdisplay id=0]-->
pnblock
fonctions: affiche un bloc PostNuke
paramètres:
bid identifiant du bloc à afficher
name nom du bloc à afficher
title Changement du titre du bloc
position Changement de sa position (l,c,r)
assign variable pouvant être définie avec les différentes informations en sortie.
exemple:<!--[pnblock name="mon_block" bid="6"]-->
pnblockgetinfo
fonctions: obtient une variable de bloc
paramètres:
bid: l'identifiant du bloc
name: Si définit le nom du paramètre pour obtenir autrement le nom du bloc assigné au template
assign: variable pouvant être définie avec les différentes informations en sortie.
exemple:<!--[pnblockinfo bid="5"]-->
pnblockshow
fonctions: Affiche le bloc à partir d'un tableau ou d'un blockid
paramètres:
module: paramètre pouvant permettre l'affichage du module
blockname: paramètre pouvant permettre l'affichage du module
block: paramètre pouvant permettre l'affichage du module
assign: variable pouvant être définie avec les différentes informations en sortie.
exemple:<!--[pnblockshow module="mon_block"]-->
pnconfiggetvar
fonctions: récupère une variable de configuration
paramètres:
name: Nom de la variable de configuration à obtenir
assign: variable pouvant être définie avec les différentes informations en sortie.
exemple:<!--[pnconfiggetvar name="sitename"]-->
pndebug
fonctions: affiche une fenêtre de déboguage
paramètres:
exemple:<!--[pndebug]-->
pngetbaseurl
fonctions: retourne l'url de base du site
paramètres:
assign: variable pouvant être définie avec les différentes informations en sortie.
exemple:<!--[pngetbaseurl]-->
pngetcurrenturi
fonctions: retourne l'url du fichier courant
paramètres:
assign: variable pouvant être définie avec les différentes informations en sortie.
exemple:<!--[pngetcurrenturi]-->
pngethost
fonctions: retourne le nom de domaine du site
paramètres:
assign: variable pouvant être définie avec les différentes informations en sortie.
exemple:<!--[pngethost]-->
pngetstatutmsg
fonctions: fonction pour obtenir un message de statut
paramètres:
assign: variable pouvant être définie avec les différentes informations en sortie.
style, class: If set, the status message is being put in a div tag with the respective attributes
tag: spécifie si on désire une balise span ou div
exemple:
<!--[pngetstatusmsg|pnvarprephtmldisplay]-->
<!--[pngetstatusmsg |pnvarprephtmldisplay]-->
<!--[pngetstatusmsg class="statusmessage" tag="span"|pnvarprephtmldisplay]-->
pnimg
fonctions: permet un accès facile à une image.
paramètres:
src: Le nom de l'image
modname: le nom d'un module (defaut: le module courrant)
width, height: Si définit les largeur et hauteurs de l'image en sortie
alt: Si non défini, une chaine vide est définie
altml: If true then alt string is assumed to be a ML constant
title: Si non défini, une chaine vide est définie
titleml: If true then title string is assumed to be a ML constant
assign: variable pouvant être définie avec les différentes informations en sortie.
optional Est défini si le plugin ne peut retourner un message d'erreur, si l'image n'est pas trouvée
default Est défini quand une image par defaut quand l'image ne peut être trouvée (Note: chemin complet requis)
tous les paramètres mis, sont enregistrés dans le plugin.
exemple:
<!--[pnimg src="heading.gif" ]--> donne <!--[pnimg src="heading.gif" ]-->
<!--[pnimg src="heading.gif" width="100" border="1" alt="foobar" ]--> donne <img src="modules/Example/pnimages/eng/heading.gif" width="100" border="1" alt="foobar" />
<!--[pnimg src="heading.gif" assign="myvar"]-->
<!--[$myvar.src]--> donne modules/Example/pnimages/eng/heading.gif
<!--[$myvar.width]--> donne 261
<!--[$myvar.imgtag]--> donne <img src="modules/Example/pnimages/eng/heading.gif" alt="" width="261" height="69" />
pnmanuallink
fonctions: crée un lien vers le manuel
paramètres:
manual: nom du fichier manuel (manuel.html si non défini)
chapter: une ancre dans le fichier manuel pour y arriver
newwindow: ouvre le manuel dans une nouvelle fenêtre, utilise javascript
width: largeur de la fenêtre, si newwindows est défini (défaut: 600)
height: hauteur de la fenêtre, si newwindows est défini (défaut: 400)
title: nom de la nouvelle fenêtre, si newwindows est défini (par défaut: modulename)
class: classe utilisée pour le tag <a>
assign: variable pouvant être définie avec les différentes informations en sortie. ( array('url', 'link'))
exemple:
<!--[pnmanuallink newwindow=1 width=400 height=300 title=rtfm ]-->
(modifier.)htmlspecialchars
fonctions: Modificateur smarty servant à préparer une varaible pour l'affichage
en convertissant les caractères spéciaux en entités HTML
paramètres:
- @param array $string le contenu à transformer
- @return string l'affichage modifié
(modifier.)pndate_format
fonctions: Modificateur smarty servant au formatage de la date via strftime selon la configuration local dans postnuke.
paramètres:*
@param string $string entrée de la date
- @param string format format strftime pour affichage
- @param string $default_date date part defaut si $string est vide
- @return string l'affichage modifié
- @uses smarty_make_timestamp()
(modifier.)pnml
fonctions: Modificateur smarty servant à la conversion d'une définition de langage en chaine de caractères
Ce modificateur convertit une définition de langage (présentement a contenu défini e.g. _MYCONST) en une chaine traitée par les constantes de langue
exemple: <!--[$MyVar?|pnml]-->
(modifier.)pnmodcallhooks
fonctions: Modificateur smarty servant à l'aplication de routine de tranformatiom.
Ce modficateur va utiliser les routines de transformation pour les modules correspondants (tel que Autlinks, bbclick et autres)
Variable paramètres:
- modname: le nom connu du module appelant; passé à la fonction de routine dans "extrainfo array"
exemple: <!--[$MyVar?|pnmodcallhooks]-->
(modifier.)pnvarcensor
fonctions:
Modificateur smarty servant à écarter les mots censurés
Ce modificateur examine le contenu de la variable passée pour les mots qui sont considérés offensant ou non autorisés. Ces mots *sont remplacés avec des astérixes pour montrer que des mots ont été enlevés.
Ce modificateur essaye d'être intelligent dans sa tentative d'enlévement des mots censurés, en évitant de censurer ces mots quand ils font partie d'une autre mot plus grand.
Ce modificateur emploie les informations fournies dans la variable (?) de configuration 'CensorList? ' comme matrice des mots à censurer. Il recherche également * les dérivations commune de ces mots qui sont utilisés afin d'éviter la censure. Le système est également insensible à la casse.
Les effets de la censure devront être considérés avec soin, et si elle doit être appliquée à l'information qui est entrée par l'utilisateur ou s'il est être utilisée dans des cas bien spécifiques.
Ce modificateur sera abandonnée dans de futures versions, car pnVarCensor va être déplacé pour devenir une routine de transformation.
exemple: <!--[$MyVar?|pnvarcensor]-->
(modifier.)pnvarprepfordisplay
fonctions:
Modificateur smarty servant à la préparation de variable pour affichage
Ce modificateur effectue les escaping appropriés sur des caractères de facon à ce que quand ils sont affichés dans une page HTML, la chaine de caractère exacte est affichée.
L'utilisation multiple de ce modificateur est cumulative et non réversible. Il est recommandé que les variables retournées par ce modificateur ne soient utilisées que pour l'affichage de résultats et ensuite "discarded".
exemple: <!--[$MyVar|pnvarprepfordisplay]-->
(modifier.)pnvarprepforstore
fonctions:
Modificateur smarty qui prépare une variable pour la sauvegarde (stockage?) dans une base de donnée.
Ce modificateur effectue les "escaping" de caractères tels que la chaine de caractère exacte soit sauvegardée lors de son inclusion dans la base de donnée.
paramètres:
param array $string le contenue à transformer
return string "l'output" modifié
exemple:
<!--[$MyVar|pnvarprepforstore]-->
(modifier.)pnvarprephtmldisplay
fonctions:
Modificateur smarty qui préparer une variable pour l'affichage, tout en préservant certaines balises HTML
Ce modificateur effectue un "escaping" des caractères tels que lors de l'affichage d'une page HTML la chaine de caractère exacte est affichée à l'exception de certaines balises définies par l'administrateur qui sont laissées telles quelles à des fins d'affichage.
Ce modificateur doit être utilisé avec grand soin car il permet l'affichage de certaines balises HTML
les balises HTML qui vont être affichées sont celles définies dans la variable de configuration AllowableHTML? qui est configuré "on a per sintance basis" par l'administrateur du site.
L'utilisation multiple de ce modificateur est cumulative et non réversible.
Il est recommandé que les variables rendues par ce modificateur ne soient utilisées que pour afficher les résultats et "then discarded."
exemple:
<!--[$MyVar|pnvarprephtmldisplay]-->