register_block <methodsynopsis> <type>void</type><methodname>register_block</methodname> <methodparam><type>string</type><parameter>name</parameter></methodparam> <methodparam><type>mixed</type><parameter>impl</parameter></methodparam> <methodparam><type>bool</type><parameter>cacheable</parameter></methodparam> <methodparam><type>mixed</type><parameter>cache_attrs</parameter></methodparam> </methodsynopsis> <para> Utilisée pour déclarer dynamiquement des plugins de fonction de blocs. Il faut passer en paramètre le nom de la fonction de blocs, suivi du nom de la fonction PHP qui l'implémente. </para> <para> La fonction PHP <parameter>impl</parameter> peut être soit (a) une chaîne de caractères contenant le nom de la fonction, soit (b) un tableau de la forme <literal>array(&$object, $method)</literal> où <literal>&$object</literal> est une référence à un objet et <literal>$method</literal> est le nom de la méthode, soit (c) un tableau de la forme <literal>array(&$class, $method)</literal> où <literal>$class</literal> est le nom de la classe et <literal>$method</literal> est une méthode de cette classe. </para> <para> Les paramètre <parameter>cacheable</parameter> et <parameter>cache_attrs</parameter> peuvent être omis dans la plupart des cas. Voir <link linkend="caching.cacheable">Contrôler la mise en cache des sorties des Plugins</link> pour plus d'informations concernant cette utilisation. </para> <example> <title>Exemple avec register_block register_block("translate", "do_translation"); function do_translation ($params, $content, &$smarty) { if ($content) { $lang = $params['lang']; // fait de la traduction avec la variable $content echo $translation; } } ?> ]]> Le template Smarty :