web-dev-qa-db-fra.com

Insérer automatiquement du texte (ou du code) sur l'article

J'essaie de trouver un moyen d'insérer automatiquement du code ou du texte dans chaque article soumis. Je trouve cet article sur joomla https://docs.joomla.org/Add_text_to_an_article_using_template_overrides , qui utilise des remplacements de gabarit pour que cela se produise. À l'aide de ce code:

var text = <?php 
    $addToText = '<p>Joomla! automatically added this text.</p>'; 
    if (strpos($this->article->text, $addToText) == 0) {
           $this->article->text .= $addToText;
    }
   echo $this->editor->getContent( 'text' ); ?>

sur le fichier form.php

, mais cet article est très ancien, je suppose de joomla 1.5 ...

2
Haral

Pour ce que vous décrivez, vous devrez vous pencher sur l'écriture d'un plugin plutôt que d'utiliser des remplacements de modèles. Vous devriez pouvoir récupérer le contenu avant de l'enregistrer dans la base de données et ajouter du code supplémentaire à ce stade.

Je pense que onContentBeforeSave serait l’événement approprié à utiliser dans votre cas.

Les remplacements de modèles fonctionnent toujours dans Joomla 3, mais ils rendent simplement le contenu différemment plutôt que de le sauvegarder. Selon ce que vous voulez faire, cela peut également fonctionner. Un article plus à jour sur ce sujet est ici: https://docs.joomla.org/How_to_override_the_output_from_the_Joomla!_core

1
Richard B