Définition XML des rangées de module PHP

Chaque module sous Automne peut généralement utiliser un tag <block> dans les rangées de contenu, pour pouvoir utiliser un contenu dynamique plus ou moins complexe.

Nous abordons ici les modules classiques, réalisés manuellement avec PHP.

Bloc de données

<block module="cms_forms" id="blockID"  type="formular"> ... </block>

Les modules créés en PHP prennent en compte le tag <block> dans les rangées de contenu depuis la version 4 d'Automne.

Avant cette version il était nécessaire d'indiquer la prise en compte du tag <block> dans les classes du module concerné.

Pour un module classique le tag <block> sera par défaut remplacé par un "modèle de module". C'est à dire un fichier php situé dans /automne/templates/.

Le tag block est remplacé par le fichier /automne/templates/mod_[module]_[type].php.

[module] est le codename du module et [type] le type indiqué dans le tag block.
Assurez-vous d'avoir à chaque fois un type unique, sans caractères spéciaux.

Exemple :

Le tag suivant :

<block module="cms_forms" id="blockID"  type="formular"> ... </block>

sera remplacé par le contenu du fichier :

/automne/templates/mod_cms_forms_formular.php

 

Il est très pratique d'utiliser les modèles de module.
Ils permettent d'insérer du code PHP depuis un fichier externe à celui de la rangée, et autorisent la modification des entêtes via PHP, avec les headers par exemple.

 

Récupération de la valeur des attributs

Dans votre modèle de module, il est possible de récupérer les attributs du tag block. La valeur des attributs est stockée automatiquement dans un tableau associatif $mod_[module].

Où [module] est le codename du module.

Exemple :

Pour le tag :

<block module="formations" id="formationsAccueil"  type="homepage" myAttribute="maformation"> ... </block>

Le fichier /automne/templates/mod_formations_homepage.php contiendra par exemple :

<?php
// Module template
echo $mod_cms_forms['myAttribute']; // maformation
?>

 



1 contribution(s)

Par Sébastien le 12/01/2011 12:09:15 :

Un complément sur la définition de modules PHP dans Automne est disponible là : http://www.automne-cms.org/forum/viewtopic.php?f=2&t=760

Haut