Qui est en ligne

3 visiteurs en ligne.

Les plugins

Le rôle des plugins est de pouvoir gérer le contenu envoyé par le code php afin de l'organiser, de l'afficher ou de le retravailler dans une certaine mesure. De nombreux plugins sont déjà disponibles à la base dans votre site Zikula. Tout d'abord, vous pouvez en découvrir dans les dossiers
  • /system/pnRender/plugins/
  • /system/theme/plugins

mais il est tout à fait possible d'avoir des plugins dans d'autres modules. Vous les trouverez dans le dossier /module/votremodule/plugins ou /module/votremodule/pntemplates/plugins.

Types de plugins

Il existe 3 types de plugins :
  • Les function réalisent des opérations en modifiant un contenu.
  • Les outputfilter opèrent sur la sortie du template, après que le template ait été chargé et exécuté, mais avant que la sortie ne soit affichée.
  • Les modifier sont de petites fonctions appliquées à une variable de template avant qu'elle ne soit affichée ou utilisée dans un autre contexte. Les modificateurs peuvent être chaînés entre eux.

Ecrire un plugin

Une page n'affiche pas ce que vous désirez, vous désirez adapter l'affichage d'un contenu sans pour autant modifier le code de votre module ? Il est tout à fait possible de créer un plugin faisant ce que vous désirez. Avant celà, n'hésitez pas à regarder dans les dossiers plugins de Zikula et sur le site de smarty (avec même de la documentation en français) pour voir s'il n'existe pas un plugin !

Si vous ne trouvez pas votre bonheur, au travail !

Pour notre exemple, nous allons créer un plugin affichant au hasard une petite phrase.
1. Créez donc un dossier plugins dans le dossier /themes/votre_theme/templates/modules/votre_module/ et créez y le fichier function.phrase_hasard.php
2. Dans ce fichier, collez -y le code suivant :
<?php
function smarty_function_phrase_hasard($params, &$smarty)
{
    $phrase_nulle = array('Bonjour, toi !',
                     'Tu as de beaux yeux',
                     "Tu n'as pas l'air dans ton assiette",
                     'Les oiseaux chantent dans le ciel',
                     'ce texte ne sert à rien',
                     'celui-là non plus');

    $resultat = array_rand($phrase_nulle);
    return $phrase_nulle[$resultat];
}
?>

Maintenant vous pouvez coller le plugin dans le template que vous désirez afin de mettres ces phrases nulles n'importe ou à l'aide du code <!--[phrase_hasard]-->. Trop bien, non ?