Présentation

On appelle MARKER une fonctionnalité pour afficher du contenu dynamique dans une page depuis son template HTML.

On distinguera 3 types de markers :

  1. les markers de contenu
  2. les markers de fonctionnalité
  3. les markers de bloc
Le format d'appel d'un marker est :
#[NOM_MARKER{param1=,param2=}]#

Lorsque le moteur de consultation TT_CONTENT.PHP va analyser le template HTML, il va trouver le marker NOM_MARKER avec les paramètres param1 et param2. Il va ensuite ensuite dans l'ordre suivant chercher comment traiter le marker NOM_MARKER :
  1. recherche de modules/XX/marker/nom_marker.php , dans l'ordre où les modules sont définis dans l'administration
  2. recherche de /marker/nom_marker.php
  3. recherche de /core/marker/nom_marker.php
  4. recherche d'une zone de contenu NOM_MARKER dans le template en cours
  5. le marker est replacé tel quel dans l'HTML du template pour traitement éventuel lors de la prochaine analyse du template.

Les markers de contenu

Un marker de contenu est une zone dans le template HTML dans laquelle on va pouvoir intégrer des blocs contribués depuis  le module d'administration.

Pour fonctionner, il faut :

  1. insérer le code du marker dans le template HTML #[NOM_MARKER]#
  2. déclarer la zone dans le gabarit de contenu depuis l'administration, NOM_ZONE = NOM_MARKER
  3. déclarer les types de contenu autorisés dans la zone
  4. insérer du contenu dans cette zone depuis une page

Les markers de fonctionnalité

Un marker de fonctionnalité est un morceau de code PHP qui va ajouter une nouvelle fonctionnalité au cms.

Pour fonctionner, il suffit :
  1. insérer le code du marker dans l'HTML #[MONMARKER]#
  2. créer un fichier monmarker.php dans /modules/XX/marker ou /marker
  3. éventuellement ré-enregistrer la liste des modules pour que le cms détecte la présence de ce nouveau fichier de marker.
Ce fichier php peut manipuler les variables globales existantes, lire des données en bases/LDAP, traiter des XMLs, etc...La seule chose qu'il doit faire c'est renvoyer le résultat HTML de son traitement dans la variable $markerVal qui sera ensuite utilisée par TT_CONTENT.PHP pour insérer l'HTML dans la page en construction.

Ce fichier php est appelé par simple include, pas d'objet, pas de fonction, pas d'interface à gérer, c'est du code php exécuté directement par tt_content.php au moment où il analyse l'appel de ce marker. La seule contrainte à respecter est les conflits éventuels avec d'autres markers ou le cms sur le nom des variables utilisées par exemple.

Les markers de bloc

Les markers de bloc sont comme les markers de fonctionnalités des extensions aux possibilités du cms.

Lorsqu'un contenu est contribué depuis le module d'administration il est d'un certain TYPE que l'on appelle type de contenu. Ce type est caractérisé dans le cms par un CODE.
eg . CORETEXT qui est le type d'un bloc de contenu standard (titre, sous-titre, texte, liens, etc.)

Pour étendre les possibilités d'un type de contenu, il suffit de créer un fichier bloc_CODECONTENU.php dans le dossier /modules/XX/marker ou /marker.
C'est un script php appelé en include par la fonction displayBloc() (celle qui gère l'affichage des blocs de contenu).