web-dev-qa-db-fra.com

Joomla utilisant des instructions JDOC personnalisées

Quelle classe Joomla Platform/CMS dois-je étendre pour créer mon propre JDOC: balises d'inclusion?

J'aimerais avoir des tags JDOC personnalisés comme

<JDOC:include type="scripts" />
<JDOC:include type="scripts-body" />

et un tas d'autres types.

5
J-D

La solution à cette question est la suivante:

Il faut ajouter un nouveau fichier à l’emplacement ci-dessous, pour ajouter une balise jdoc personnalisée.

libraries/joomla/document/html/renderer/

Le nom du fichier doit être identique à la balise que vous ajoutez. Supposons que l'on veuille utiliser des scripts comme balises, alors le nom du fichier doit être scripts.php.

Maintenant, dans ce fichier, il faut ajouter un code comme ci-dessous. Comme le nom de la balise est un script, le nom de la classe doit donc être JDocumentRendererScripts

<?php
defined('JPATH_PLATFORM') or die;

class JDocumentRendererScripts extends JDocumentRenderer
{
    public function render($scripts, $params = array(), $content = null)
    {
        $contents  = "";
        //Do your work here
        return $contents;

    }


}
?>

Maintenant, on peut utiliser du code jdoc personnalisé

3
J-D

jdoc:include Provient de la fonction _parseTemplate(), de la classe JDocumentHTML du fichier suivant:

libraries\joomla\document\html\html.php
1
Lodder