Plugin pour écrire automatiquement dans un article selon id
Bonjour,
je souhaiterais développer un plugin qui pourrait écrire dans un article en particulier selon son id. Le code html de l'article (article déjà existant) serait complété automatiquement du code html créé par le plugin.
Je pense à la fonction onbeforecontentsave, j'ai essayé cela ... mais bof bof, comme je suis une truffe en php ...
(ici je fais un essai pour dé:cry:publier un article dont l'id est = 47)
Code:
1 2 3 4 5 6 7 8 9 10 11
|
function onBeforeContentSave( &$article, $isNew )
{
global $mainframe;
$id=$this->article->id;
if ($id == 47) { // unpublish if article ID is "47"
$article->state = 0;
}
return true;
} |
Merci par avance pour votre réponse
e-Lynx
Je dois comprendre que ton test
est concluant ?
C'est à dire que lorsque tu ouvres puis sauve l'article en question, il se dépublie ?
Bizarre
Quel code écrirais-tu pour récupérer automatiquement l'ID de l'article depuis le backend du plugin et utiliser l' ID pour ensuite modifier l'article correspondant (exemple, ecrire le texte "toto" dedans) ?
:roll:
e-Lynx
Danjos, cela fonctionne très bien
Merci beaucoup !
Cela m'a permis d'avancer dans mon plugin.
je me retrouve maintenant face à un petit problème, au lieu d'imposer l'id de l'article (=22 dans le code), je souhaite que ce soit un paramètre entré dans le backend joomla du plugin.
Il faut donc importer les paramètres xml du plugin et traiter le N° d'article entré par l'admin dans son backend.
j'ai mis ce code là, mais mon article dont l'ID est la variable "form_article_id" ne se dépublie pas.
Voici le code ajouté à ton plugin dans le .php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| //Fonction du plugin qui depublie. Elle n'a pas besoin d'etre paramatree
function plgDepublieArticle(&$rows, &$params)
{
// Get Plugin info
$plugin =& JPluginHelper::getPlugin('content', 'puma_search');
// Get the plugin .xml parameters
$params = new JParameter( $plugin->params );
$form_article_id=$params->get('form_article_id');
//On se connecte a la base
$db =& JFactory::getDBO();
//On cree la requete de depublication
$db->setQuery('UPDATE #__content SET state=0 WHERE id={$form_article_id}');
//On execute la requete
$db->Query();
return true;
} |
Aurais tu une idée d'où vient l'erreur ?
Merci par avance.