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

Zope Python Discussion :

search par mot clés dans produits plone


Sujet :

Zope Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 127
    Par défaut search par mot clés dans produits plone
    j'utilise Zope, plone, python
    alors voila :
    je fait une recherche par mot clés, et j'utilise le search.pt qui lui appel un serach.py qui sont déja présent dans les produits de zope, mais je fait effectuer ma recherche que sur les dossiers qui comport la liste de mes projets (car je fait de la gestion de contenu=projet) et le search.pt il fait une recherche sur tous le site, il me restitue meme l'ancetre de ce fichier
    si vous avez une idée sur ça .
    merci d'avance

  2. #2
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 127
    Par défaut
    j'essey de mieux expliquer mon problème:

    comment je peut lancer ma recherche que dans un repertoire précie,
    je sait que pour recuperer son contenu j'ecrit ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    tal:attributes="href string:${portal_url}/search?portal_type%3Alist=PSCProject&Creator=${here/Creator}"
    ceci marche quand je le lance sa me recupere tous le contenu, qui est une liste de projets.

    mais pour la recherche j'ai esseyer de mettre la meme chose mais cela ne marche pas.

    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
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <!-- rechercher par mot clès -->
     
    <fieldset > 
      <legend i18n:translate="search_motcles">Recherche par mot clés </legend>
     
     <div id="portal-searchbox" metal:define-macro="quick_search">
        <form name="searchform"
              action="search"
              tal:define="livesearch site_properties/enable_livesearch|nothing"
              tal:attributes="tabindex tabindex/next;
              onsubmit python:test(livesearch==True,'return liveSearchSubmit()','')"
              style="white-space:nowrap">
     
       <label for="searchGadget" class="hiddenStructure"
                        i18n:translate="text_search">Search </label>
     
           <div class="LSBox">
            <input id="searchGadget"
                   tabindex=""
                   name="SearchableText"
                   type="text"
                   size="15"
                   value=""
                   title="Search"
                   accesskey="4"
                   i18n:attributes="title title_search_site;"
                   tal:attributes="value request/SearchableText|nothing;
                                   tabindex tabindex/next"
                   class="visibility:visible" />
     
    <div class="LSResult" id="LSResult" style=""><div class="LSShadow" id="LSShadow"></div></div>
     <p>
      <input class="searchButton"
                   type="submit"
                   tabindex=""
                   value="Search"
                   tal:attributes="href string:${portal_url}/search?portal_type%3Alist=PSCProject&Creator=${here/Creator}"
                   i18n:attributes="value accesskey;" /></p></div>
        </form>
     
    </div>
    </fieldset > 
    </div>


    si vous avez une idee SVP c'est urgent , il me le faut avant17h, l'heur de ma reunion avec le chef, alors sauvez moi.
    Merci d'avance

  3. #3
    Membre confirmé Avatar de nighthammer
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2005
    Messages : 122
    Par défaut
    Je crois que j'arrive un peu tard !

    J'ai eu ce problème, déjà et je l'ai résolu en me servant de la fonction "searchResults".

    Voilà par exemple ce que j'ai fait :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <tal define="url python:'/'.join(context.getPhysicalPath());
                 results python:here.portal_catalog.searchResults(path={'query':url}, 
                                                                  portal_type='PersonneMorale', 
                                                                  sort_on='id', 
                                                                  SearchableText=type[0])" />
    ça me permet de rechercher tous les objets de type "PersonneMorale" qui se trouvent dans le répertoire courant.

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    127
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 127
    Par défaut
    merci de m'avoir répondu car j'ai pas encore trouver la solution.
    mais ou tu ajoute ce code exactement?, dans mon cas j'effectue une recherche par mot cles dans (comme dans ton exemple dans ersonneMorale) pour moi c'est "PSC".

    Merci de me guider SVP

  5. #5
    Membre confirmé Avatar de nighthammer
    Profil pro
    Développeur Java
    Inscrit en
    Juillet 2005
    Messages
    122
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juillet 2005
    Messages : 122
    Par défaut
    En fait chaque paramètre de la fonction searchResults est facultatif.

    Dans ton cas le paramètre qui va résoudre ton problème et le "path". Il faut que tu lui passe l'url de l'objet dans lequel tu veux faire une recherche.

    Le paramètre "portal_type" permet de spécifier sur quel type d'objet tu veux faire ta recheche. Par exemple si tu veux faire un annuaire contenant des objets "PersonnePhysique" et des objets "PersonneMorale". (exemple totalement pris au hasard ). Si tu ne veux faire une recherche que sur les personnes morales, alors tu vas rajouter ce paramètres. Je crois qu'il est possible de faire une recherche sur plusieurs types en passant une liste en paramètre, mais c'est à vérifier. (je crois avoir vu un exemple comme ça mais je ne le retrouve pas).

    Le paramètre sort_on permet de trier ton résultat. Dans l'exemple que j'ai donné il triera suivant l'id des objets trouvés. Si tu veux trier suivant le titre il faut que tu mettes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sort_on='sortable_title'
    Enfin le paramètre SearchableText te permet de dire quel texte tu recherches. Dans mon exemple, j'ai mis type[0] parce que je parcours un tableau et pour chaque élément de mon tableau, je fais une recherche.

    Donc si j'ai bien compris ton problème, dans ta page search.pt, il faut que tu partes sur cette base là :
    [code]
    <tal define="searchableText request/SearchableText;
    url python:'/'.join(context.getPhysicalPath());
    results python:here.portal_catalog.searchResults(path={'query':url},
    SearchableText=searchableText)">
    <span tal:repeat="result results">
    ...
    </span>
    </tal>
    [code]
    à personnaliser pour ton développement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 33
    Dernier message: 22/08/2011, 14h33
  2. Filtrage par mots-clés dans excel
    Par WeeJay dans le forum Excel
    Réponses: 7
    Dernier message: 04/06/2009, 10h16
  3. recherche par mots-clés dans base access
    Par syber72 dans le forum Access
    Réponses: 2
    Dernier message: 07/03/2006, 13h53
  4. Recherche par mots clés
    Par legillou dans le forum Algorithmes et structures de données
    Réponses: 4
    Dernier message: 17/06/2005, 10h56
  5. Select par mot-clés ou 1er lettre
    Par maadadi dans le forum Langage SQL
    Réponses: 4
    Dernier message: 11/02/2004, 10h50

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