IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

EDI, CMS, Outils, Scripts et API PHP Discussion :

Plugin pour écrire automatiquement dans un article selon id


Sujet :

EDI, CMS, Outils, Scripts et API PHP

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut 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épublier un article dont l'id est = 47)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    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

  2. #2
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonjour et bienvenue sur le forum
    Je ne vois pas l'objectif que tu veux atteindre. ET je crois que tout est là.
    Que veux-tu écrire dans l'article?
    Le code que tu as écrit me semble très incomplet.
    Apparemment c'est seulement l'article qui a pour id, 47 que tru traites. Et là tu n'ajoute rien à son contenu, mais tu le publies.

    Alors??
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Objectif
    Bonsoir Danjos et merci pour tes remarques,

    Effectivement, le code mis en exemple est très incomplet et je ne sais pas bien par quel bout le prendre. Il ne contient qu'une action de "unpublish", j'ai volontairement mis cela pour exemple afin de ne pas alourdir. C'est un premier test que j'essaye de faire chez moi, mais sans résultat je dois bien l'avouer. Ensuite, j'ai écrit la valeur 47 pour l'id toujours pour tester, je venais de créer un article dont l'id=47.

    J'essaye d'être plus précis. Mon objectif est d'avoir un plugin qui crée ou modifie un article, en insérant des données récupérées par les options choisies par l'admin via le backend du plugin (.xml).
    En pratique : l'admin choisit un titre d'article, rempli un certain nombre de champs, et le plugin utilise ces infos pour construire un article (son html du moins) de type formulaire.

    Par exemple, l'admin entre la valeur 47, car il vient de créer un article (vide) ayant pour id 47 (entre nous, si le plugin peut créer lui même un article, garder son id en mémoire et ensuite le compléter, c'est encore mieux pour la suite).

    la fonction "onbeforecontentsave" me paraissait utile dans la mesure où l'admin, en ouvrant puis sauvant son article permettait au plugin d'insérer les infos nécessaires.

    J'espère que je ne t'ai pas perdu.

  4. #4
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonjour
    Citation Envoyé par eLynx Voir le message
    J'espère que je ne t'ai pas perdu.
    Non, pas du tout tu as été suffisamment explicite

    Je vois donc que là, il te faudra créer un plugin.
    L'impression que j'ai est donc que ton problème ne vient de la fonctionnalité du plugin, en tant que tel mais plutot sur l'installation. Est ce le cas?

    A l'heure actuelle, qu'est ce qui ne fonctionne pas? L'installation ou le fonctionnement?
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut he bien
    l'installation semble fonctionner,
    mais le code php du plugin ne contient que le code que j'ai affiché. J'essaye de procéder pas à pas. Mais déjà, ce bout de code n'a pas l'effect escompté ; c'est à dire que je lorsque j'édite puis sauve l'article (id=47), il ne se dépublie pas.

    Cette première étape ne va déjà pas et je ne sais pas si c'est le code en exemple qui est bon ou pas.
    Diffcile de faire du débugg sous joomla.

    @+

  6. #6
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Peux-tu me rappeler le fichier dans lequel il y a cette fonction? Je vais essayer de faire un test ici à mon niveau.
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  7. #7
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonsoir je viens de faire quelques tests à mon niveau, et je ne vois pas encore d'où peux venir ton problème.
    As-tu publié le plugin?
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut 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) ?



    e-Lynx

  9. #9
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonjour, je ne sais pas où tu en es, mais je crois que ça devrait marcher maintenant.
    As-tu publié ton nouveau plugin?
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Toujours pas
    J'ai beau essayer à nouveau, ce bout de code ne fonctionne pas. Le plugin est publié et l'installation correctement faite ... bizarre

  11. #11
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Bonjour, si tu n'as pas encore résolu ton problème, regarde .
    Tu y trouveras surement ton bonheur
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  12. #12
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut dois je en conclure
    que tu n'as pas de solution non plus ?

  13. #13
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Citation Envoyé par eLynx Voir le message
    que tu n'as pas de solution non plus ?
    Ben si
    De mon côté, j'ai fait et ça fonctionne. Je ne sais pas pourquoi ça ne marche pas chez toi.
    Si le plugin est bien installé et bien publié, je ne vois pas pourquoi ça ne fonctionne pas alors que le code aussi est correct.

    Je suis au bureau actuellement, je te renvoie mes scripts après pour que tu fasses la comparaison avec les tiens.
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  14. #14
    Membre actif Avatar de elvan49
    Profil pro
    Développeur Web
    Inscrit en
    Octobre 2006
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Octobre 2006
    Messages : 274
    Points : 204
    Points
    204
    Par défaut Même souci
    Avant de poursuivre, je dois préciser que j'ai chez moi le bouquin Joomla 1.5.
    Mais il doit y avoir quelque chose qui m'a échappé...
    Si vos tests ont été concluant, pouvez-vous m'éclairer sur les solutions trouvées, les erreurs identifiées...
    Je vous glisse, quant à moi, le code...
    L'objectif à terme est d'ajouter en fin d'article un formulaire caché avec le bouton submit visible... là le code c'est juste pour s'entrainer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    <?php
    // no direct access
    defined( '_JEXEC' ) or die( 'Restricted access' );
     
    jimport( 'joomla.plugin.plugin' );
    $mainframe->registerEvent( ‘onPrepareContent’, ‘plgContentWishlist’ );
     
    /**
     * Example system plugin
     */
    class plgContentWishlist extends JPlugin{
    	/**
    	 * Constructor
    	 *
    	 * @access	protected
    	 * @param	object	$subject The object to observe
    	 * @since	1.0
    	 */
    	function plgContentWishlist( &$subject ){
    		parent::__construct( $subject );
    		$plugin =& JPluginHelper::getPlugin('content', 'wishlist');
    	}
     
    	function onPrepareContent(&$article)
    	{
    		$article->text .= $article->text."<div id='coucou'>Coucouc</div>";
    		return true;
    	}
    }
    "n'imprimez ces messages que si nécessaire... Préservez notre planète"

  15. #15
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut Chose promise, chose dûe
    Bonjour à vous deux

    J'ai un peu retravaillé ce que j'avais fait et j'ai crée un script très optimal en m'attaquant directement à la base de données. C'est très pratique comme méthode. Moins de dix lignes de code.
    Mais ça repond seulement au problème posé par eLynx, pour ce qui est de celui posé par elvan, j'ai pas bien compris de quoi il s'agissait. Mais avec un peu d'adaptatio, on peut aussi modifier le contenu des articles.

    Inutile aussi de travailler avec les fonctions prédéfinies.

    Voici le script php complet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?php
     
    /**
     *Ce plugin test, sert juste à dépublier l'article qui a pour id 22
     *On procède donc le plus simplement possible, en exécutant la requête 
     * directement dans la base de données de Joomla
     * */  
     
    // On se rassure que le script à exécuter est un élement de Joomla
    defined( '_JEXEC' ) or die( 'Restricted access' );
     
    //On dépublie après la sauvegarde dans la base
    $mainframe->registerEvent( 'onAfterContentSave', 'plgDepublieArticle' );
     
      //la fonction du plugin qui dépublie. Elle n'a pas besoin d'être paramétrer
    	function plgDepublieArticle() 
    	{
    	//On se connecte à la base
    	$db =& JFactory::getDBO();
     
    	//On crée la requête de dépublication
    	$db->setQuery('UPDATE #__content SET state=0 WHERE id=22');
     
      //On exécute la requête
    	$db->Query();
     
    	return true;
      }
     
    ?>
    Bonne suite à vous deux
    Fichiers attachés Fichiers attachés
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  16. #16
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Merci beaucoup Danjos
    Très sympa de ta part.
    Je vais analyser cela tout de suite, et je te fais un retour dès que possible.





    Citation Envoyé par Danjos Voir le message
    Bonjour à vous deux

    J'ai un peu retravaillé ce que j'avais fait et j'ai crée un script très optimal en m'attaquant directement à la base de données. C'est très pratique comme méthode. Moins de dix lignes de code.
    Mais ça repond seulement au problème posé par eLynx, pour ce qui est de celui posé par elvan, j'ai pas bien compris de quoi il s'agissait. Mais avec un peu d'adaptatio, on peut aussi modifier le contenu des articles.

    Inutile aussi de travailler avec les fonctions prédéfinies.

    Voici le script php complet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
     
    <?php
     
    /**
     *Ce plugin test, sert juste à dépublier l'article qui a pour id 22
     *On procède donc le plus simplement possible, en exécutant la requête 
     * directement dans la base de données de Joomla
     * */  
     
    // On se rassure que le script à exécuter est un élement de Joomla
    defined( '_JEXEC' ) or die( 'Restricted access' );
     
    //On dépublie après la sauvegarde dans la base
    $mainframe->registerEvent( 'onAfterContentSave', 'plgDepublieArticle' );
     
      //la fonction du plugin qui dépublie. Elle n'a pas besoin d'être paramétrer
    	function plgDepublieArticle() 
    	{
    	//On se connecte à la base
    	$db =& JFactory::getDBO();
     
    	//On crée la requête de dépublication
    	$db->setQuery('UPDATE #__content SET state=0 WHERE id=22');
     
      //On exécute la requête
    	$db->Query();
     
    	return true;
      }
     
    ?>
    Bonne suite à vous deux

  17. #17
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Citation Envoyé par eLynx Voir le message
    Très sympa de ta part.
    Je vais analyser cela tout de suite, et je te fais un retour dès que possible.
    Et la suite des tests?
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  18. #18
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut 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 : Sélectionner tout - Visualiser dans une fenêtre à part
    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.

  19. #19
    Expert éminent sénior

    Avatar de Siguillaume
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Août 2007
    Messages
    6 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2007
    Messages : 6 180
    Points : 25 358
    Points
    25 358
    Par défaut
    Comment récupères-tu l'id de l'article dans le XML?
    Vous avez envie de contribuer au sein du Club Developpez.com ? Contactez-nous maintenant !
    Vous êtes passionné, vous souhaitez partager vos connaissances en informatique, vous souhaitez faire partie de la rédaction.
    Il suffit de vous porter volontaire et de nous faire part de vos envies de contributions :
    Rédaction d'articles/cours/tutoriels, Traduction, Contribution dans la FAQ, Rédaction de news, interviews et témoignages, Organisation de défis, de débats et de sondages, Relecture technique, Modération, Correction orthographique, etc.
    Vous avez d'autres propositions de contributions à nous faire ? Vous souhaitez en savoir davantage ? N'hésitez pas à nous approcher.

  20. #20
    Futur Membre du Club
    Profil pro
    Inscrit en
    Février 2009
    Messages
    18
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Février 2009
    Messages : 18
    Points : 8
    Points
    8
    Par défaut Salut Danjos
    Je récupère l'id en ayant ajouté dans le .xml, section <params>
    une "textaera" dont le nom de variable est justement form_article_id.
    Voici l'extrait de code du .xml :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <!-- Article IDs -->
    <param name="form_article_id" type="text" default="" label="Form Article ID" description="Type the ID number of the Article that will be unpublished" />
    L'interface s'affiche bien en backend, et je peux sans problème entrer l'id de l'article : "22" dans la cellule.
    Par contre, comme c'est une variable de type "text" qui est plutôt utilisée comme "integer" dans le .php ... peut être que ça pose problème.

    Nota : Ce qui est embêtant avec Joomla, c'est que je ne sais pas comment fonctionne le debug (pour par exemple faire quelques echo ou print_r à certains moment clés de l'exécution et savoir ce qui est enregistré dans les variables pas à pas).

    eLynx

Discussions similaires

  1. [eZ Publish] Insertion d'un compteur automatique dans un article
    Par azrael62 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 25/01/2013, 13h05
  2. Plugin pour signature html dans gmail
    Par Aitone dans le forum Google Chrome
    Réponses: 3
    Dernier message: 05/01/2010, 01h49
  3. Réponses: 6
    Dernier message: 22/10/2009, 15h42
  4. Réponses: 0
    Dernier message: 24/11/2008, 10h51
  5. [RegEx] Liens automatiques dans un article
    Par groupejtt dans le forum Langage
    Réponses: 1
    Dernier message: 19/03/2008, 01h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo