THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3
  • yoan
  • Cofondateur Thelia

Offline


après.

Si tu veux qqchose executé avant, tu peux utiliser la méthode action() des plugins.


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Hmm, dommage.

Après classes/PluginsClassique.class.php, action() ne prends pas des paramêtres [nb: après le wiki, elle prends un qqchose $res]. Il faut que j'y regarde encore plus proche.

Merci pour la réponse, Yoan.

A.

  • yoan
  • Cofondateur Thelia

Offline


non non pas de paramètre

au début de ta fonction action(), mets un global $res;

et joue avec $res (contenu de la page)


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Je vais ressortir ce vieux sujet, car j'ai un problème pour faire marcher mon plugin, et je ne trouve pas de réponses à ma solution !

Bon, tout marche SAUF que je n'arrive pas à appeler ma boucle ...
J'ai ajouté mon plugin, il y a des données dans la base, le contenu de la fonction boucle() est correct (testé dans un plugin que j'arrivais à appeler).

Pour l'appeler je fais donc :
                <THELIA_contact TYPE="GESTIONPAGESINFOSITE">
               
                    #CONTENU
                   
                </THELIA_contact>

Et voici le code dans mon plugin :

include_once(realpath(dirname(__FILE__)) . "/../../../classes/PluginsClassiques.class.php");
   
    class GestionPagesInfoSite extends PluginsClassiques {
                 ..............

                function GestionPagesInfoSite(){
            $this->Baseobj();   
        }

        function init(){
              ..............
        }

       
        function destroy(){
            $cache = new Cache();
                   $cache->vider("GESTIONPAGESINFOSITE", "%");           
        }
       
        function boucle($texte, $args){
            // récupération des arguments
            $contenu = "contact"; //lireTag($args, "contenu");

            $search ="";
            $res="";
                  echo "avant";
            $gestion = new GestionPagesInfoSite();
            $resul_gestion = mysql_query("select * from `gestioninfosite`;", $gestion->link);
            $nbres = mysql_numrows($resul_gestion);
            if(!$nbres) return "";
       
            if ( $row = mysql_fetch_object($resul_gestion) ){
                if ($contenu == "contact" && $row->champ == "contact") {
                    $res = str_replace("#CONTENU", "$row->valeur", $texte);
                } else if ($contenu == "mentions" && $row->champ == "mentions") {
                    $res = str_replace("#CONTENU", "$row->valeur", $texte);               
                } else if ($contenu == "quisommesnous" && $row->champ == "quisommesnous") {
                    $res = str_replace("#CONTENU", "$row->valeur", $texte);                               
                }
            }
            return $res;       
        }
       
    }

J'ai pas tout mis pour pas que ce soit barbant...
Je fais bien TYPE="GESTIONPAGESINFOSITE", mais rien ne s'affiche sad

ça fait un petit moment que je cherche, je ne comprend pas....

  • yoan
  • Cofondateur Thelia

Offline


le plugin est activé dans l'admin ?


http://yoandemacedo.com

Cofondateur de la solution Thelia 1.x

Offline


Oui...
J'ai même essayé de le desinstaller totalement, et de le réinstaller...

EDIT : TOutes mes excuses ! J'ai trouvé mon erreur ... Après un certain temps de tatonnement et en reprennant des boucles qui marchent, en changeant petit à petit ...
Voila ça marchait pas parce que j'écrivais "TYPE=" au lieu de "type=" ...

J'aime l'informatique !!!! Grrrrrr....................... ^^

Last edited by LaKlara (31-08-2007 12:42:40)