Nouvel objet + Recherche

Bonjour,

J'ai récemment crée un nouvel objet SPIP qui est hiérarchisé par rubriques. Il semble que le formulaire_recherche ne fasse ses recherches que sur les articles, forums, auteurs, rubriques,mots clés etc.. mais pas sur mon nouvel objet.
Est-ce un comportement normal de SPIP et si oui comment faire pour que mon objet soit pris en compte par notre moteur de recherche?

Merci

Bernard

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

Bonjour,

J'ai eu le même problème il y a quelques semaines, j'ai fait en php faute de mieux.

Un début d'explication:
http://programmer.spip.org/Prendre-en-compte-un-nouveau-champ

Mon post:
http://forum.spip.org/fr_218851.html

Je suis preneur d'une méthode SPIP.

Bonne journée.
Nicolas
http://linux-live-cd.org

Bernard Blazin a écrit :

Bonjour,

J'ai récemment crée un nouvel objet SPIP qui est hiérarchisé par rubriques. Il semble que le formulaire_recherche ne fasse ses recherches que sur les articles, forums, auteurs, rubriques,mots clés etc.. mais pas sur mon nouvel objet.
Est-ce un comportement normal de SPIP et si oui comment faire pour que mon objet soit pris en compte par notre moteur de recherche?

Merci

Bernard

Merci Nicolas,

Oui en effet c'est assez restrictif et c'est dommage car la possibilité de créer de nouveaux objets est une des grandes forces de SPIP ( un parmi tant d'autres d'ailleurs).
Tu pourrais nous montrer ton code php? Sinon j'ai une autre idée, mais avec des tas de requêtes et ça m'ennuie :wink:

Bernard

nikolas.villa@gmail.com a écrit :

Bonjour,

J'ai eu le même problème il y a quelques semaines, j'ai fait en php faute de mieux.

Un début d'explication:
http://programmer.spip.org/Prendre-en-compte-un-nouveau-champ

Mon post:
http://forum.spip.org/fr_218851.html

Je suis preneur d'une méthode SPIP.

Bonne journée.
Nicolas
http://linux-live-cd.org

Bernard Blazin a écrit :

Bonjour,

J'ai récemment crée un nouvel objet SPIP qui est hiérarchisé par rubriques. Il semble que le formulaire_recherche ne fasse ses recherches que sur les articles, forums, auteurs, rubriques,mots clés etc.. mais pas sur mon nouvel objet.
Est-ce un comportement normal de SPIP et si oui comment faire pour que mon objet soit pris en compte par notre moteur de recherche?

Merci

Bernard

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

Pas plus tard que la semaine dernière, j'ai ajouté à la recherche (avec le #FORMULAIRE_RECHERCHE) les nouveaux objets dans le plugin Vu! sans aucun problème.

Comment ai-je fait ? Eh bien avec « vu » en préfixe de plugin :

1- J'ai déclaré le pipeline dans plugin.xml
  <pipeline>
           <nom>rechercher_liste_des_champs</nom>
           <inclure>base/vu_pipelines.php</inclure>
  </pipeline>

2- puis simplement dans le fichier ou je mets les pipelines (ça devrait fonctionner aussi dans mes_fonctions je pense).

function vu_rechercher_liste_des_champs($tables){
  // Prendre en compte les champs des annonces
  $tables['vu_annonce']['titre'] = 3;
  $tables['vu_annonce']['annonceur'] = 3;
  $tables['vu_annonce']['type'] = 3;
  $tables['vu_annonce']['descriptif'] = 3;
  $tables['vu_annonce']['source_nom'] = 3;

  // etc...

  return $tables;
}

Attention, je ne sais plus où je l'ai lu mais il est indispensable d'indiquer les tables au singulier ! Pour une table « spip_pommes » il faut indiquer « pomme »... j'ai trouvé ça bizarre aussi, mais tout est rentré l'ordre après.

En espérant avoir (un peu) aidé,

Jonathan

Bonjour Jonathan,

Bon ça ne marche pas chez moi, mais ça ne plante rien et n'affiche pas d'erreur..
C'est bien dans base/vu_pipelines.php que tu glisses ton code?
J'ai tenté de charger ton plugin via SVN mais il semblerait que SVN soit planté pour l'instant.

Merci pour le tuyau en tous les cas

Bernard

Jonathan a écrit :

Pas plus tard que la semaine dernière, j'ai ajouté à la recherche (avec le #FORMULAIRE_RECHERCHE) les nouveaux objets dans le plugin Vu! sans aucun problème.

Comment ai-je fait ? Eh bien avec « vu » en préfixe de plugin :

1- J'ai déclaré le pipeline dans plugin.xml
    <pipeline>
            <nom>rechercher_liste_des_champs</nom>
            <inclure>base/vu_pipelines.php</inclure>
    </pipeline>

2- puis simplement dans le fichier ou je mets les pipelines (ça devrait fonctionner aussi dans mes_fonctions je pense).

function vu_rechercher_liste_des_champs($tables){
    // Prendre en compte les champs des annonces
    $tables['vu_annonce']['titre'] = 3;
    $tables['vu_annonce']['annonceur'] = 3;
    $tables['vu_annonce']['type'] = 3;
    $tables['vu_annonce']['descriptif'] = 3;
    $tables['vu_annonce']['source_nom'] = 3;

    // etc...

    return $tables;
}

Attention, je ne sais plus où je l'ai lu mais il est indispensable d'indiquer les tables au singulier ! Pour une table « spip_pommes » il faut indiquer « pomme »... j'ai trouvé ça bizarre aussi, mais tout est rentré l'ordre après.

En espérant avoir (un peu) aidé,

Jonathan

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

C'est bien dans base/vu_pipelines.php que tu glisses ton code?

Euh non. Bien vu ! Y'a une petite coquille ici (que je corrige donc, merci), le fichier vu_pipelines.php est à la racine du plugin. D'ailleurs je note que d'avoir indiqué un mauvais chemin pour le pipeline n'a pas eu d'incidence sur le fonctionnement !

J'ai tenté de charger ton plugin via SVN mais il semblerait que SVN soit planté pour l'instant.

En effet, il n'y a que la version SVN du plugin qui possède la fonctionnalité (c'est en attente de la prochaine version stable).

Merci pour le tuyau en tous les cas

Y'a pas de quoi, si je peux aider c'est avec plaisir.

Je pense à une autre piste peut-être : est-ce cela ne pourrait pas venir d'une mauvaise déclaration de ton nouvel objet (pipelines declarer_tables_principales, declarer_tables_auxiliaires, declarer_tables_interfaces, declarer_tables_objets_surnoms) ?

Jonathan

Oui il y a certainement de ça! Je n'avais pas déclaré le surnom de l'objet.
Bon ça ne fonctionne pas mieux, mais j'avance!
Je dois dire au passage que ton plugin est super pour comprendre la marche à suivre et lié à l'article de Marcimat c'est un réel plaisir de travailler !
http://marcimat.magraine.net/Creer-un-nouvel-objet-editorial

Bernard

Jonathan a écrit :

C'est bien dans base/vu_pipelines.php que tu glisses ton code?

Euh non. Bien vu ! Y'a une petite coquille ici (que je corrige donc, merci), le fichier vu_pipelines.php est à la racine du plugin. D'ailleurs je note que d'avoir indiqué un mauvais chemin pour le pipeline n'a pas eu d'incidence sur le fonctionnement !

J'ai tenté de charger ton plugin via SVN mais il semblerait que SVN soit planté pour l'instant.

En effet, il n'y a que la version SVN du plugin qui possède la fonctionnalité (c'est en attente de la prochaine version stable).

Merci pour le tuyau en tous les cas

Y'a pas de quoi, si je peux aider c'est avec plaisir.

Je pense à une autre piste peut-être : est-ce cela ne pourrait pas venir d'une mauvaise déclaration de ton nouvel objet (pipelines declarer_tables_principales, declarer_tables_auxiliaires, declarer_tables_interfaces, declarer_tables_objets_surnoms) ?

Jonathan

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

Oui il y a certainement de ça! Je n'avais pas déclaré le surnom de l'objet.
Bon ça ne fonctionne pas mieux, mais j'avance!

Oui, je suis pas étonné. C'est vraiment sensible ce bazar. Aucun message d'erreur, ça peut sembler fonctionner mais en fait non. Ou alors si, mais parce que c'est le fonctionnement automatique de SPIP qui a pris le relais. Quand il manque des choses ou qu'il y a des erreurs, on n'en sait rien...

Je dois dire au passage que ton plugin est super pour comprendre la marche à suivre

Bah merci, je suis content de voir que ça sert alors. :slight_smile:

et lié à l'article de Marcimat c'est un réel plaisir de

travailler !
http://marcimat.magraine.net/Creer-un-nouvel-objet-editorial

Youhou ! J'avais pas vu cet artcle (récent), fantastique. Le plugin Vu! est donc maintenant compatible avec les Champs Extras 2. Merci pour le lien !

Je poursuis:
Si je regarde dans tmp/charger_pipelines, je vois bien mes pipelines déclarés comme le surnom; les tables et la recherche sur les tables.
Je me dis ça doit donc marcher non de non!
Et si je me rappelle , enfin il me semble, le moteur de recherche devient vraiment opérationnel si il y a du trafic sur le site..et là je suis en local..
C'est peut être une cause de mon échec?

Enfin bref, je sèche!! (mais je planche ) :smiley:

Bernard

Jonathan a écrit :

Oui il y a certainement de ça! Je n'avais pas déclaré le surnom de l'objet.
Bon ça ne fonctionne pas mieux, mais j'avance!

Oui, je suis pas étonné. C'est vraiment sensible ce bazar. Aucun message d'erreur, ça peut sembler fonctionner mais en fait non. Ou alors si, mais parce que c'est le fonctionnement automatique de SPIP qui a pris le relais. Quand il manque des choses ou qu'il y a des erreurs, on n'en sait rien...

Je dois dire au passage que ton plugin est super pour comprendre la marche à suivre

Bah merci, je suis content de voir que ça sert alors. :slight_smile:

et lié à l'article de Marcimat c'est un réel plaisir de

travailler !
http://marcimat.magraine.net/Creer-un-nouvel-objet-editorial

Youhou ! J'avais pas vu cet artcle (récent), fantastique. Le plugin Vu! est donc maintenant compatible avec les Champs Extras 2. Merci pour le lien !
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

Pour que ce soit reconnu dans les moteurs de recherches, il fau un champt id_quelque chose dans la table , non ?
après en terme de déclaration je en sais pas si ça change quelque chose.

Mike

Je poursuis:
Si je regarde dans tmp/charger_pipelines, je vois bien mes pipelines déclarés comme le surnom; les tables et la recherche sur les tables.
Je me dis ça doit donc marcher non de non!
Et si je me rappelle , enfin il me semble, le moteur de recherche devient vraiment opérationnel si il y a du trafic sur le site..et là je suis en local..
C'est peut être une cause de mon échec?

Enfin bref, je sèche!! (mais je planche ) :smiley:

Bernard

Jonathan a écrit :

Oui il y a certainement de ça! Je n'avais pas déclaré le surnom de l'objet.
Bon ça ne fonctionne pas mieux, mais j'avance!

Oui, je suis pas étonné. C'est vraiment sensible ce bazar. Aucun message d'erreur, ça peut sembler fonctionner mais en fait non. Ou alors si, mais parce que c'est le fonctionnement automatique de SPIP qui a pris le relais. Quand il manque des choses ou qu'il y a des erreurs, on n'en sait rien...

Je dois dire au passage que ton plugin est super pour comprendre la marche à suivre

Bah merci, je suis content de voir que ça sert alors. :slight_smile:

et lié à l'article de Marcimat c'est un réel plaisir de

travailler !
http://marcimat.magraine.net/Creer-un-nouvel-objet-editorial

Youhou ! J'avais pas vu cet artcle (récent), fantastique. Le plugin Vu! est donc maintenant compatible avec les Champs Extras 2. Merci pour le lien !
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Hello,
Je suis votre conversation avec intérêt, il y a plein de trucs intéressants a y glaner !
Je me permet juste un petit avis en passant :

Et si je me rappelle , enfin il me semble, le moteur de recherche devient vraiment opérationnel si il y a du trafic sur le site..et là je suis en local..
C'est peut être une cause de mon échec?

Non, ca c'était valable sur la série 1.XX avec le système d'indexation des mots.
Maintenant la recherche marche a coup de requêtes sql sur les champs déclarés il me semble :slight_smile:

Merci à vous deux pour cette mine d'infos !

Vincent

Vincent a écrit :

Hello,
Je suis votre conversation avec intérêt, il y a plein de trucs intéressants a y glaner !
Je me permet juste un petit avis en passant :

Et si je me rappelle , enfin il me semble, le moteur de recherche devient vraiment opérationnel si il y a du trafic sur le site..et là je suis en local..
C'est peut être une cause de mon échec?

Non, ca c'était valable sur la série 1.XX avec le système d'indexation des mots.
Maintenant la recherche marche a coup de requêtes sql sur les champs déclarés il me semble :slight_smile:

Merci à vous deux pour cette mine d'infos !

Vincent

Ah mais de rien, c'était pas fait exprès :wink:
Ok pour l'indexation en effet cela était valable jusqu'à la 1.8 certainement.. Donc mon problème vient d'ailleurs..

Bernard

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

Donc si j suis bien tout cela, il est impossible de mettre une boucle pour ce nouvel objet dans le squelette recherche.html avec le critère {recherche}?

Cordialement,

Teddy Payet

Le 17 déc. 2009 à 17:11, Vincent <vincent@logaweb.fr> a écrit :

Hello,
Je suis votre conversation avec intérêt, il y a plein de trucs intéressants a y glaner !
Je me permet juste un petit avis en passant :

Et si je me rappelle , enfin il me semble, le moteur de recherche devient vraiment opérationnel si il y a du trafic sur le site..et là je suis en local..
C'est peut être une cause de mon échec?

Non, ca c'était valable sur la série 1.XX avec le système d'indexation des mots.
Maintenant la recherche marche a coup de requêtes sql sur les champs déclarés il me semble :slight_smile:

Merci à vous deux pour cette mine d'infos !

Vincent
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

Oui c'est tout à fait ça .Mon objet TOTO ne prend pas le critère de boucle {recherche}
Ça n'affiche rien..
Bernard

Teddy Payet a écrit :

Donc si j suis bien tout cela, il est impossible de mettre une boucle pour ce nouvel objet dans le squelette recherche.html avec le critère {recherche}?

Cordialement,

Teddy Payet

Le 17 déc. 2009 à 17:11, Vincent <vincent@logaweb.fr> a écrit :

Hello,
Je suis votre conversation avec intérêt, il y a plein de trucs intéressants a y glaner !
Je me permet juste un petit avis en passant :

Et si je me rappelle , enfin il me semble, le moteur de recherche devient vraiment opérationnel si il y a du trafic sur le site..et là je suis en local..
C'est peut être une cause de mon échec?

Non, ca c'était valable sur la série 1.XX avec le système d'indexation des mots.
Maintenant la recherche marche a coup de requêtes sql sur les champs déclarés il me semble :slight_smile:

Merci à vous deux pour cette mine d'infos !

Vincent
_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

Jonathan a écrit :

Oui il y a certainement de ça! Je n'avais pas déclaré le surnom de l'objet.
Bon ça ne fonctionne pas mieux, mais j'avance!

Oui, je suis pas étonné. C'est vraiment sensible ce bazar. Aucun message d'erreur, ça peut sembler fonctionner mais en fait non. Ou alors si, mais parce que c'est le fonctionnement automatique de SPIP qui a pris le relais. Quand il manque des choses ou qu'il y a des erreurs, on n'en sait rien...

Je dois dire au passage que ton plugin est super pour comprendre la marche à suivre

Bah merci, je suis content de voir que ça sert alors. :slight_smile:

et lié à l'article de Marcimat c'est un réel plaisir de

travailler !
http://marcimat.magraine.net/Creer-un-nouvel-objet-editorial

Youhou ! J'avais pas vu cet artcle (récent), fantastique. Le plugin Vu! est donc maintenant compatible avec les Champs Extras 2. Merci pour le lien !
_______________________________________________

ET bien je profite aprés lecture de signaler une coquille

      Conclusions

Cet objet « Chat » très sommaire montre que réaliser l’interface et l’outil de modification nécessite encore beaucoup de code et de squelettes SPIP. Cependant un créer un nouvel objet est possible, et de nombreuses fonctions de l’API de SPIP 2.0 permettent un gain de temps appréciable.

Cependant un créer un nouvel objet ==> Cependant de

Bernard Blazin a écrit :

Oui c'est tout à fait ça .Mon objet TOTO ne prend pas le critère de boucle {recherche}
Ça n'affiche rien..

Tu voudrais pas poster ici ton code ? Tes déclarations de base, tes pipelines...etc Peut-être cela nous aidera à t'aider de façon plus efficace... ou sinon envoie moi ton plugin, que je le teste ici...

Bonjour,

Pour essayer de faire avancer un peu, voici mon code:

plugin.xml, je viens de rajouter ça (merci Jonathan):
        <pipeline>
            <nom>rechercher_liste_des_champs</nom>
            <inclure>echanges_pipelines.php</inclure>
    </pipeline>

Dans echanges_pipeline.php:
function echanges_rechercher_liste_des_champs($tables){
    $tables['lien']['id'] = 3;
        $tables['lien']['name'] = 3;
        unset($tables['rubrique']['titre']);
    return $tables;
}

Dans echanges.php (les tables sont bien crées et on peut boucler dessus):
<?php

    {
        $interface['table_des_tables']['categories']='categories';
        $interface['table_des_tables']['liens']='liens';
        $interface['table_des_tables']['validation']='validation';
         return $interface;
    }
     function echanges_declarer_tables_principales($tables_principales)
    {
        //Table des categories
        $spip_categories_field=array(
            "id"=>"int(50)",
            "name"=>"varchar(50)",
            "description_categorie"=>"text",
            "root"=>"int(50)",
            "usable"=>"tinyint(1)");
         $spip_categories_key=array(
            "PRIMARY KEY" => "id");
         $tables_principales['spip_categories']=array(
            'field' => &$spip_categories_field,
            'key' => &$spip_categories_key);

        $spip_liens_field=array(
            "id"=>"int(50)",
                        "date"=>"date",
            "name"=>"varchar(50)",
            "url"=>"varchar(255)",
                        "state"=>"tinyint(1)",
            "description"=>"varchar(100)",
                        "adresse_banniere"=>"varchar(255)",
            "categories"=>"int(4)",
                        "mail_site"=>"varchar(255)",
                        "adresse_retour"=>"varchar(255)",
                        "valoriser"=>"varchar(3) DEFAULT 'non' NOT NULL");
             
         $spip_liens_key=array(
            "PRIMARY KEY" => "id");
         $tables_principales['spip_liens']=array(
            'field' => &$spip_liens_field,
            'key' => &$spip_liens_key);
         //Table des validations
        $spip_validation_field=array(
            "id_site"=>"int(50)",
            "secret"=>"varchar(32)",
            "url"=>"varchar(255)",
            "mail_site"=>"varchar(70)");
         $spip_validation_key=array(
            "PRIMARY KEY" => "id_site");
         $tables_principales['spip_validation']=array(
            'field' => &$spip_validation_field,
            'key' => &$spip_validation_key);
         return $tables_principales;
    }
?>

Sinon moi je souhaite utiliser le champs recherche de l'interface privée, donc j'ai pas essayé le critère {recherche} et le formulaire public, peut-être que ça utilise tout le même code de toutes façon.

Le recherche sur le titre des rubriques est bien désactivés elle (grâce à unset dans echanges_pipelines.php)

Et j'ai bien ça :
// Pipeline rechercher_liste_des_champs
function execute_pipeline_rechercher_liste_des_champs(&$val){
error_reporting(SPIP_ERREUR_REPORT_INCLUDE_PLUGINS);
include_once(_DIR_PLUGINS.'echanges/echanges_pipelines.php');
error_reporting(SPIP_ERREUR_REPORT);
$val = minipipe('echanges_rechercher_liste_des_champs', $val);
return $val;
}
Dans tmp/charger_pipelines.php

J'étais directement aller faire un tour dans ecrire/inc/rechercher.php pour ajouter ma table mais ça n'avait rien donné...

Donc après tous ça, j'avais fait simplement un input text qui faisait un select sur ma table spip_liens en cas de recherche:
if (isset($_POST["recherche"])) {
    $resRecherche=sql_select("*", "spip_liens","name = '".$_POST["recherche"]."'");
        $lien=sql_fetch($resRecherche);
Se servir du tableau pour le resultat.}
    else
    {
    $out.='<div id="recherche">
    <form action="?exec=gestion_liens" method="post">
    Rechercher un lien: <br />
<input type="text" name="recherche" size="25" maxlength="100" value="" />
<input type="submit" value="Rechercher" />
</form></div> }

Sinon je mettrai ce plugin en ligne bientôt (après nettoyage), il permet de gérer un annuaire de site (echanges de liens) avec administration et formulaire d'inscription.

Bonne journée.

Jonathan a écrit :

Bernard Blazin a écrit :

Oui c'est tout à fait ça .Mon objet TOTO ne prend pas le critère de boucle {recherche}
Ça n'affiche rien..

Tu voudrais pas poster ici ton code ? Tes déclarations de base, tes pipelines...etc Peut-être cela nous aidera à t'aider de façon plus efficace... ou sinon envoie moi ton plugin, que je le teste ici...

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

assobachant a écrit :

Cependant un créer un nouvel objet ==> Cependant de

Pris en compte.
Merci.

--
MM.

assobachant a écrit :

Cependant un créer un nouvel objet ==> Cependant de

Cependant créer... me parait bien français ( pas besoin du "de") :wink:

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com

Oui merci,

Tout semble bien construit aussi chez moi..et pourtant ça ne fonctionne toujours pas.
Je vais activer vu! pour voir si les recherches se font bien de mon côté des fois que cela ne relève pas de SPIP.

Bernard

nikolas.villa@gmail.com a écrit :

Bonjour,

Pour essayer de faire avancer un peu, voici mon code:

plugin.xml, je viens de rajouter ça (merci Jonathan):
       <pipeline>
           <nom>rechercher_liste_des_champs</nom>
           <inclure>echanges_pipelines.php</inclure>
   </pipeline>

Dans echanges_pipeline.php:
function echanges_rechercher_liste_des_champs($tables){
   $tables['lien']['id'] = 3;
       $tables['lien']['name'] = 3;
       unset($tables['rubrique']['titre']);
   return $tables;
}

Dans echanges.php (les tables sont bien crées et on peut boucler dessus):
<?php

   function echanges_declarer_tables_interfaces($interface)
   {
       $interface['table_des_tables']['categories']='categories';
       $interface['table_des_tables']['liens']='liens';
       $interface['table_des_tables']['validation']='validation';

       return $interface;
   }

   function echanges_declarer_tables_principales($tables_principales)
   {
       //Table des categories
       $spip_categories_field=array(
           "id"=>"int(50)",
           "name"=>"varchar(50)",
           "description_categorie"=>"text",
           "root"=>"int(50)",
           "usable"=>"tinyint(1)");

       $spip_categories_key=array(
           "PRIMARY KEY" => "id");

       $tables_principales['spip_categories']=array(
           'field' => &$spip_categories_field,
           'key' => &$spip_categories_key);

       //Table des liens
       $spip_liens_field=array(
           "id"=>"int(50)",
                       "date"=>"date",
           "name"=>"varchar(50)",
           "url"=>"varchar(255)",
                       "state"=>"tinyint(1)",
           "description"=>"varchar(100)",
                       "adresse_banniere"=>"varchar(255)",
           "categories"=>"int(4)",
                       "mail_site"=>"varchar(255)",
                       "adresse_retour"=>"varchar(255)",
                       "valoriser"=>"varchar(3) DEFAULT 'non' NOT NULL");
                  $spip_liens_key=array(
           "PRIMARY KEY" => "id");

       $tables_principales['spip_liens']=array(
           'field' => &$spip_liens_field,
           'key' => &$spip_liens_key);

       //Table des validations
       $spip_validation_field=array(
           "id_site"=>"int(50)",
           "secret"=>"varchar(32)",
           "url"=>"varchar(255)",
           "mail_site"=>"varchar(70)");

       $spip_validation_key=array(
           "PRIMARY KEY" => "id_site");

       $tables_principales['spip_validation']=array(
           'field' => &$spip_validation_field,
           'key' => &$spip_validation_key);

       return $tables_principales;
   }
?>

Sinon moi je souhaite utiliser le champs recherche de l'interface privée, donc j'ai pas essayé le critère {recherche} et le formulaire public, peut-être que ça utilise tout le même code de toutes façon.

Le recherche sur le titre des rubriques est bien désactivés elle (grâce à unset dans echanges_pipelines.php)

Et j'ai bien ça :
// Pipeline rechercher_liste_des_champs
function execute_pipeline_rechercher_liste_des_champs(&$val){
error_reporting(SPIP_ERREUR_REPORT_INCLUDE_PLUGINS);
include_once(_DIR_PLUGINS.'echanges/echanges_pipelines.php');
error_reporting(SPIP_ERREUR_REPORT);
$val = minipipe('echanges_rechercher_liste_des_champs', $val);
return $val;
}
Dans tmp/charger_pipelines.php

J'étais directement aller faire un tour dans ecrire/inc/rechercher.php pour ajouter ma table mais ça n'avait rien donné...

Donc après tous ça, j'avais fait simplement un input text qui faisait un select sur ma table spip_liens en cas de recherche:
if (isset($_POST["recherche"])) {
   $resRecherche=sql_select("*", "spip_liens","name = '".$_POST["recherche"]."'");
       $lien=sql_fetch($resRecherche);
Se servir du tableau pour le resultat.}
   else
   {
   $out.='<div id="recherche">
   <form action="?exec=gestion_liens" method="post">
   Rechercher un lien: <br />
<input type="text" name="recherche" size="25" maxlength="100" value="" />
<input type="submit" value="Rechercher" />
</form></div> }

Sinon je mettrai ce plugin en ligne bientôt (après nettoyage), il permet de gérer un annuaire de site (echanges de liens) avec administration et formulaire d'inscription.

Bonne journée.

Jonathan a écrit :

Bernard Blazin a écrit :

Oui c'est tout à fait ça .Mon objet TOTO ne prend pas le critère de boucle {recherche}
Ça n'affiche rien..

Tu voudrais pas poster ici ton code ? Tes déclarations de base, tes pipelines...etc Peut-être cela nous aidera à t'aider de façon plus efficace... ou sinon envoie moi ton plugin, que je le teste ici...

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

_______________________________________________
liste spip
spip@rezo.net - désabonnement : envoyer un mail à spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip
Discuter chez rezo.net

Documentation de SPIP : http://www.spip.net/

Irc : de l'aide à toute heure : http://spip.net/irc

--
Bernard Blazin - Développement Internet Ingénieur ENSAM promo 1978

Bernard Blazin Point Com

9 rue de la Rose
77320 Montolivet
Tel 01 64 20 98 49
http://www.bernardblazin.com