Outils pour utilisateurs

Outils du site


gcweb:documentation:func4tpl.php

inc/func4tpl.php

Liste et explication des fonctions facilitant la création de thèmes.

Chacune de ces fonctions retourne une chaîne (sauf aff()). Si vous souhaiter afficher la chaîne ajouter le prefix aff_ à la fonction (revient au même que faire un echo fonction()).

Exemple : la liste des auteurs

filter('authors==',$item['authors']);     // Retourne la chaîne qu'on poura mettre dans une variable
aff_filter('authors==',$item['authors']); // Affiche la chaîne, elle sera donc directement visible dans 
                                          // la page affichée pas le navigateur

Dans chaque fonction les variables sont explique sous la forme :

nom de l'argument [ = valeur par défaut] type de variable (array, string) description

Si l'argument n'a pas de valeur par défaut il est obligatoire.

aff

Afficher simplement un élément provenant d'un fichier xml et retourne True. Si l'élément n'est pas trouvé retourne False et affiche un message d'erreur.

$var string, array Variable à afficher. Ex: $item['title'] affiche le titre de l'élément.
$separatorCol = “, ” string Séparation des “Colonnes” (balise xml “col”) si $var est un array.
$separatorLine = “; ” string Séparation des “Ligne” (balise xml “line”) si $var est un array.

convert

Retourne un élément provenant d'un fichier xml. Si l'élément n'est pas trouvé retourne “Erreur : champ introuvable $var”.

$var string, array Variable à afficher. Ex: $item['title'] affiche le titre de l'élément.
$separatorCol = “, ” string Séparation des “Colonnes” (balise xml “col”) si $var est un array.
$separatorLine = “; ” string Séparation des “Ligne” (balise xml “line”) si $var est un array.

chooseCollec

Menu déroulant pour sélectionner la collection

$nameButton = “ok” string Label du bouton de confirmation (invisible si javascript est activé sur le navigateur).

hrefPage

Adresse vers le modèle de page list_<type>.php.

$page = 1 float, integer No de le page. Si c'est un float il sera arrondi (voir round)

Exemple d'utilisation dans le page item_<type>.php (retourner a la page list_<type>.php contenant l'item))

<a title="Parcourir" href="<?php aff_hrefPage($item['key']/$conf['item/page']+.5) ?>">↑</a>

prevPage

Liens (y compris les balises <a href=) vers la 1ère et la/les pages précédente(s) de la collection (à utiliser dans les page list_<type>.php).

$nb = 1 interger nombre de page précédente à afficher
$sep = ' ' string signe séparateur a mettre entre la page

currentPage

Numéro de la page courante (à utiliser dans les page list_<type>.php).

aucun argument

nextPage

Liens vers la/les pages suivante(s) et la dernière page (à utiliser dans les page list_<type>.php).

$nb = 1 interger nombre de page précédente à afficher
$sep = ' ' string signe séparateur a mettre entre la page

prevItem

Liens vers le 1er et le/les précédent(s) élements de la collection (filtre pris en compte, à utilisé dans les page item_<type>.php).

$nb = 1 interger nombre de page précédente à afficher
$sep = ' ' string signe séparateur a mettre entre la page

currentItem

Numéro de l'élément courant (à utilisé dans les page item_<type>.php).

aucun argument

nextItem

Liens vers le/les et le dernier élément de la collection (filtre pris en compte, à utilisé dans les page item_<type>.php).

$nb = 1 interger nombre de page précédente à afficher
$sep = ' ' string signe séparateur a mettre entre la page

hrefItem

Adresse de la page de l'item.

$id / array, interger tableau de type $item ou id de l'item

Exemple d'utilisation dans le page list_<type>.php (affiche le lien vers la page de l'item)

//dans une boucle foreach ($items as $item)
?><a href="<?php aff_hrefItem($item) ?>"><?php aff($item['title'] ?></a><?php

hrefModel

Lien vers un type de page (standard ou listé dans model_add).

$model string $model prendra le nom du type de page (list, item, main, search ou cloud)
$sortANDfilter = False bool Transmêtre ou nous les filtres et l'ordre de tri des éléments à la page

filter

Liste de lien qui enveront vers les page au filtres correspondants.

$prefix string le champs dans le quel chercher suvit du signe de condition (voir filtre)
$var string, array la/les valeur(s) qu'il faudra chercher
$text = Flase string, array, False le texte à afficher comme label au lien (si False $text = $var sinon $text soit être du même type que $var et comporter le même nombre d'élément.
$separator = “, “ string les chaînes de séparations a mettre entre les éléments si $text et $var sont des array
$optionBalise = ”“ string permet d'ajouter des options a chaque balise href (comme class=“filter”).
$model = Flase string Page model (si False, renvoi sur 'list'.

Exemple d'utilisation : filtre sur le nom des auteurs

filter('authors==',$item['authors'])

isSortKey

Retourne True si c'est le clef de tri courante

$sort string idem hrefSortBy()

hrefSortBy

Adresse la la page filtrant le élément.

$sort string nom du champs selon lequel il faudra trier les éléments suvivit de ASC (ordre ascendant) DSC (ordre descendant). Il est possible d'avoir plusieur clef de triage. Il faut séparé ces clef par un virgule (,)

Exemple d'utilisation, trier selon la note (plus grande à plus petite) puis le titre (ordre alphbétique).

hrefSortBy('ratingDSC,titleASC')

star

Permet d'affcher la note sous forme d'image via la feuille de style. Le nombre d'image sera donné par $max/2. Par défaut GCstar note les éléments sur 10, cette fonction permettra donc d'afficher la note sous le forme de 5 image.

Retourne une serie de avec comme class star_full, star_half, ou star_empty ^ $note | integer | note de l'élément | ^ $max = 10 | integer paire | note max (et indirectement le nombre d'image | exemple d'utilisation : la note sous la forme de 5 étoile. Code php dans la page <code php> star($item['rating']); </code> Feuille de style <code css> .star_full, .star_half, .star_empty { background-repeat: no-repeat; padding:8px; } .star_full { background-image : url(img/star_full.png); } .star_half { background-image : url(img/star_half.png); } .star_empty { background-image : url(img/star_empty.png); } </code> Étant donner que GCstar note les élement sur 10 si vous voulez représenter cette note avec 4 étoile il faudra faire comme cela (a mon avis ça ne donnera pas grand chose, mieux vaut rester sur 5 étoile enfin … c'est possible) : <code php> star($item['rating']*4/5,8) </code> ===== image ===== Afficher un élement de type image (jpg, jpeg, png ou gif). ^ $img = '' | string | Nom de l'image de base | ^ $X = '' | integer, False | Largeur maximal de l'image. False, '' ou 'auto' = largeur de l'image de base | ^ $Y = '' | integer, False | Hauteur maximal de l'image. False, '' ou 'auto' = hauteur de l'image de base | Si $X et $Y = False, '' ou 'auto' l'image renvoyer sera l'original. Exemples d'utilisation : <code php> #afficher la couverture dans BD avec une hauteur de 160px. image($item['cover'],'auto',160); #afficher la même couverture dans ça taille originale image($item['cover']); </code> ===== attrsize_image ===== Retourne les attributs (width=”…” height=“…”) pour la balise img ^ $img = '' | string | Nom de l'image de base | ^ $X = '' | integer, False | Largeur maximal de l'image. False, '' ou 'auto' = largeur de l'image de base | ^ $Y = '' | integer, False | Hauteur maximal de l'image. False, '' ou 'auto' = hauteur de l'image de base | Si $X et $Y = False, '' ou 'auto' l'image renvoyer sera l'original. Exemples d'utilisation : <code html> <img alt=“image” src=“<?php aff_image($item['cover'],120,160) ?>” <?php aff_attrsize_image($item['cover'],120,160) ?> /> </code> ===== search ===== Toute les fonctionnalité pour les formulaires de recherche. Plutot complexe a utilisé :/ le plus simple est de ce basé sur un thème existant. ^ $champs | 'start', 'submit', 'end', 'keyword', 'in_champs', 'request', string | Type de balise de formulaire. string peut être uniquement utilisé dans les formulaires de recherche avancé. Ce sera le nom du champ qu'on chercher précédé du signe de condition. | ^ $type = '' | 'str', 'num', 'bool', 'list', '', string | type de $champs quand $champ est un string | ^ $optionBalise = '' | string | permet d'ajouter des éléments à la balise html (par ex width=“20” class=“recherche”) | ^ $default = '' | string/array | Permet de mettre une valeur par défaut dans le champs de recherche. Pour $champs = string il est également possible de mettre un array afin de créer un liste à choix multiple. La valeur à séléctionner par défaut devra être suivit d'un *. | <note> $default à été introduit avec GCweb 1.1. </note> Exemple d'utilisation : Les champs entre [] sont optionnels - Afficher un petit formulaire avec un champs pour mettre le mot à chercher et une liste des champs où chercher (comme dans la barre de menu du thème par défaut).<code php> search('start'); Début du formulaire (ouverture de la balise <form>) search('keyword'); Zone où l'utilisateur pourra entré ce qu'il cherche (<input type=“text” …) search('in_champs',array( array(<cond1>,<label1>), [array(<cond2>,<label2>), [array(<cond3>,<label3>)]])); Affiche une liste à options (<select><option></option></select>) pour séléction dans quel champ il faut chercher. <cond> : La condition de recherche du type <champ> contient %s : <champ>=%s ou encore <champ1> ou <champ2> contient %s : <champ1>=%s,|<champ2>=%s <champ> : est le nom du champ du fichier xml dans lequel il faut chercher = : Un signe de condition¹ les autres peuvent aussi être utilisé %s : Serra remplacé par la chaine à chercher <label> : étiquette dans la liste à options [search('in_collec');] Liste les collections, si non spécifier untilise la collection courantes. search('submit'); Bouton de soumission² (<input type=“submit” …) search('end'); fin du formulaire (</form>) </code> - Afficher un formulaire de recherche multi-critères (comme dans la page recherche avancée du thème pas défaut)<code php> search('start'); Début du formulaire [search(<nom du champs>, <type>);] Affiche une ligne de recherche pour un des critères. Réutiliser cette fonction pour les autres critères. <Nom du champs> ben … le champs ou chercher <type> : Type de champs (affiche le choix des signes de condition en conséquence. 'str': Chaine, on peut donc faire des “contient”, “ne contient pas”, … 'num': Valeur numérique, on peut donc faire des “<”, “>”, … 'bool': Oui/non 'list': Affiche un liste des valeur que peut prendre le champ '': Signe de condition à taper <other>:<other> sera le signe de condition¹ search('submit'); Bouton de soumission (il est possible de spécifier le label avec le 2ème arguments search('end'); Fin du formulaire </code> - Afficher une zone de texte pour taper une requête manuellement (comme la 2ème et dernière partie de la recherche avancée du thème par défaut)<code php> search('start'); Début du formulaire search('request'); Zone pour taper la requête, utilisé le 3ème argument de la fonction pour spécifier la taille de cette zonne (voir options de textarea en html) search('submit'); Bouton de soumission il est possible de spécifier le label avec le 2ème arguments search('end'); Fin du formulaire </code> * (¹) Les signes de conditions (insensible à la case)<code> = contient != ne contient pas == est exactement ==! ne contient pas l'expression exacte < plus petit que (valeur numérique uniquement) > plus grand que (idem) ⇐ plus petit ou égal que (idem) >= plus grand ou égal que (idem) </code> ===== cloud ===== Afficher un Nuage ^ $champ | string | champs avec le quel faire le nuage | ^ $pas=10 | integer | Nombre de pas (taille des mots du nuage par exemple). Chanque élément du nuage est un lien qui aura comme class cloud<n°pas> le <n°pas> commencant par 1 (moins important) et finissant par $pas (plus important). | exemple d'utilisation : nuage de genre Dans la page <code php> <?php aff_cloud('genre') ?> </code> Feuille de style <code css> .cloud1 {color: #99F; font-size:80% } .cloud2 {color: #88F; font-size:90% } .cloud3 {color: #77F; font-size:100%} .cloud4 {color: #66F; font-size:110%} .cloud5 {color: #55F; font-size:120%} .cloud6 {color: #44F; font-size:130%} .cloud7 {color: #33F; font-size:140%} .cloud8 {color: #22F; font-size:150%} .cloud9 {color: #11F; font-size:160%} .cloud10{color: #00F; font-size:170%} </code> ===== test ===== Tester si une variable est vide ou pleine dans le fichier xml de GCstar. ^ $value | string array … | Valeur à tester | ===== noIE ===== Petit gadget affichant un message à l'attention des utilisateurs d'internet explorer. Si le navigateur respectant très mal les css moderne un message définit par l'utilisateur dans la configuration s'affichera. Cette fonction doit être utilisé dans un partie non mise en cache. Sinon le message s'affichera toujours si la 1ère visite de la page c'est faite avec ce satané navigateur ou ne s'affichera jamais si la 1ère visite c'est faite avec un vrais navigateur. ^ aucun argument |

gcweb/documentation/func4tpl.php.txt · Dernière modification: 15/01/2010 12:34 (modification externe)