template core

le système représente les données associées à un template par des objets T_data. Dans un objets T_data les données sont stockées sous forme d'arborescence, chaque donnée est accessible par un chemin qui lui est propre.
(comme un repertoire http://fr.wikipedia.org/wiki/R%C3%A9pertoire_%28informatique%29)

deux instances différentes de cet objet T_data sont accessible dans un template:

$A représente les données spécifiquement attribué à un template
$G représente les données globales qui sont les mêmes pour tout les templates

 

méthodes T_data:

getIf($args=null) 
args représente le chemin vers la données recherchée
ex: $args = 'path','to','my','data';
retourne T_data ou null si acune données existe

is ($args=null)
args représente le chemin vers la données recherchée
ex: $args = 'path','to','my','data';
retourne toujours T_data (une nouvelle instance de T_Data null est crée si aucune données correspond au chemin recherché)

issetIf($args=null) 
args représente le chemin vers la données recherchée
ex: $args = 'path','to','my','data';
retourne true ou false

valueIf($args)
args représente le chemin vers la données recherchée
ex: $args = 'path','to','my','data';
retourne la valeurs associée au chemin ou null

echoIf($args)
args représente le chemin vers la données recherchée
ex: $args = 'path','to','my','data';
affiche la valeurs associée au chemin

get($name, $default=null)
name représente le nom de la prochaine valeurs dans l'arborescence
retourn T_data ou $default si aucune donnée n'est trouvée

getEcho($name, $default=null)
name représente le nom de la prochaine valeurs dans l'arborescence
retourn affiche la valeurs si elle est trouvée

toArray()
retourne l'arborescence sous forme de tableau php

json_encode()
retourne l'arborescence sous forme de tableau json

count()
retourne le nombre de valeurs (si c'est un tableau, sinon la valeur 1 sera toujour retourné)
retourne un nombre entier

name()
retourne le nom de la valeur dans l'arborescence
(usage déconseillé)

data()   
retourne la valeurs brute
(usage déconseillé)

value()
retourne la valeurs

v()
alias de value()

int()
retourne la valeur sous forme de nombre entier

groupBy($group_key, $group_function = null)     
   
retourne un nouvelle objet T_data des valeurs regroupées par la clé  $group_key, une fonction de trie peut être fournie via $group_function
ex:       
            $grouping = function($date) {
                // par heure
                return substr($date, 11, 2);        
            };
            $g=$A->evenements->list->groupBy('date_debut', $grouping);
            while( $list = $g->iterate() ) {

boucle

 
iterate( $nb=null, $offset=null)
la fonction iterate ne fonctionne que sur les tableau (array php).
par défaut elle parcours tout le tableau.
$nb permet d'indique le nombre d'élément à traiter ( tous si null)
$offset permet d'indiquer à partir de quelle élément la boucle commence
while( $list = $A->myList->iterate() ) {
          $A->titre->e();
          echo  $A->myList->iterateisLast() ) ? ', fin !' : ',';

 

iteratePosition() 
utilisable a l'intérieur d'une boucle iterate()
retourne le nombre de tours éffectués

iterateIsLast() 
utilisable a l'intérieur d'une boucle iterate()
retourne true si c'est le dernier tour
  

transformation  

les méthodes de transformation sont chaînable et travaille sur des copie de T_data.

ex: $A->myValue->textile()->htmlToText()->escape()->e();
applique le format textile à myValue puis en extrait le texte et ajoute des caractères d'échappements et termine par affichage du résultat.

unescape()
ajoute les caractères d'échappement pour '
retourne T_Data

escape()   
supprime les caractères d'échappement ' pour '
retourne T_Data

textile()   
représente un format textile en Html
retourne T_Data

htmlToText()   
extrait uniquement le texte d'un code Html
retourne T_Data

extrait($lenght=120)
retourne un texte d'une taille approchant $lenght caractères
retourne T_Data

replace($args)
$args peut être un array ou un objet T_data
retourne T_data

url($keyword=null)
ajoute les $keyword à une url
retourne T_Data

urlRelativ() 
obsolète voir url()

 

Note:

les données associées aux templates peuvent être éxaminées via la console.

quand une méthode retourne un objet T_data les méthodes peuvent être chainées
ex: $A->is('my','value')->unescape()->e();

si une méthode modifie la données une copie de T_Data est retournée
ex: $A->r(array('replace', 'new_string')->e();