web-dev-qa-db-fra.com

Comment ajouter du texte / script avant </ body>

Existe-t-il un plugin de contenu qui me permette de mettre du texte/code/script avant de fermer </body> tag? S'il n'y a pas de tel plugin, existe-t-il une documentation sur la création de ce type de plugin?

4
webchun

Code du plugin

<?php
// no direct access
defined('JPATH_BASE') or die;

class plgSystemMyplugin extends JPlugin
{
    function onAfterRender()
    {
        $app = JFactory::getApplication();

        if ($app->getName() != 'site') {
            return true;
        }

        $buffer = JFactory::getApplication()->getBody();

        $insert = 'insertthis';
        $buffer= str_ireplace('</body>',$insert.'</body>',$buffer);

        JFactory::getApplication()->setBody($buffer);

        return true;
    }
}
3
jdog

Pourquoi utiliser un plugin Joomla? Vous pouvez simplement faire ce qui suit:

  • Ajoutez une position dans le modèle (par exemple, dans votre templates/template-name/index.php) juste avant la fermeture </body> tag. Appelons cette position code.
  • Créez un module HTML personnalisé (maintenant appelé module personnalisé), ajoutez-y votre code de script, puis affectez-le à la position code et aux pages appropriées.
  • Supprimez la balise div englobante ajoutée au module HTML personnalisé comme décrit ici .

Je ne pense pas que dans votre scénario, vous devriez vraiment utiliser un plugin, car un module suffira et fera exactement ce que vous devez faire (c'est aussi une approche plus propre, car les plugins ajoutent à la surcharge de toutes les pages).

2
itoctopus