Module de recherche personnalisé : seulement le contenu (main)

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Module de recherche personnalisé : seulement le contenu (main)

    Bonjour,

    J'ai un problème qui m'a pris la tête toute la journée.
    J'ai une page qui affiche la liste des liens d'une catégorie (je l'ai mis sous forme de tableau en modifiant un peu le module ) et j'y est intégré le module de recherche de Joomla. Seul bemol : la recherche s'effectue sur tout le site et j'aimerai qu'elle s'effectue seulement sur ma liste de lien !

    J'ai vu le sujet traité plusieurs fois mais jamais de solutions
    J'ai tenté d'utiliser des modules : déjà il en a très peu pour la version 1.6.x et ils ne sont pas adaptés. Il y a par exemple RSSearch, quand je lui dis de faire la recherche uniquement sur mon contenu : il ne me trouve que mes articles (qui ne sont même pas dans le "main" de ma page !) et sur la catégorie : il me sort les noms de mes catégories ou me propose des catégories... d'article et non de liens...

    Si quelqu'un à une idée, un autre module ou la possibilité de modifier le com_search...
    Merci !

  • #2
    Re : Module de recherche personnalisé : seulement le contenu (main)

    Petit progrès :

    J'ai trouvé la requête SQL de la recherche dans plugins/search/content/content.php
    J'ai ajouté une ligne "$query->where('l'id de la catégorie = l'id de la catégorie ou je veux effectuer ma recherche');"
    Ça fonctionne

    Le problème c'est que maintenant le module ne fera plus que des recherches dans cette catégorie
    J'ai voulu faire une condition sur l'id du module mais je ne voit pas comment le récupérer.
    Le problème c'est que la requête se trouve dans un plugin. J'ai aussi pensé reconstruire un module où j'intègre le contenu de mon plugin modifié et comme ça j'assigne ce module qu'a la page où j'en ai besoin, mais je vois pas bien comment procéder dans ce cas.
    Toujours à la recherche de solutions ><

    Commentaire


    • #3
      Re : Module de recherche personnalisé : seulement le contenu (main)

      Encore du progrès mais coincé sur quelque chose où je pense que quelqu'un pourra m'aider !
      J'ai ajouter la sélection d'une catégorie dans mon module. Maintenant je dois tester l'id de la catégorie dans le fichier plugins/search/content/content.php où j'ai modifié la requête.
      J'essaye avec : $module = JModuleHelper::getModule('mod_search', 'nom de mon module');
      $IdCateg = $module->params->id;

      et j'ai toujours 0 quelque soit le module.
      Par contre si je fais print_r (JModuleHelper::renderModule( $module ); ) j'ai mon module de recherche qui s'affiche.
      C'est à ni rien comprendre

      Commentaire


      • #4
        Re : Module de recherche personnalisé : seulement le contenu (main)

        Enfin une solution trouvée ! Attention, cette solution impose de modifier du code source, n'oubliez pas d'enregistrer chaque fichier modifié dans un dossier à part de celui de votre site afin de récupérer vos modification si vous mettez à jour joomla !

        La solution consiste à :
        -créer un module de recherche et à le lier à un élément "lien de menu recherche".
        -Ajouter dans ce lien la sélection sur une catégorie de lien ou d'article ou aucune sélection.
        -Le nombre de résultat trouvé et leur numérotation disparaît. Si il n'y a pas de résultat, on reste sur la page d'où on a effectué la recherche, sinon on va à la page de résultat.

        Puisque la solution est longue, je la joint à mon message en PDF. Bon courage


        Petit précision : l'intérêt de cette modification est de pouvoir utiliser vos modules de recherche sur plusieurs contenu et éviter le problème que j'ai rencontrer (cf. deux messages plus haut). N'oubliez pas de créer un lien de menu recherche à lier à chacun de vos modules car c'est sur ce lien qu'on filtre la catégorie !
        Dernière édition par jojo7466 à 22/04/2011, 15h07

        Commentaire


        • #5
          Re : Module de recherche personnalisé : seulement le contenu (main)

          Bravo et grand merci,

          Je vais tester tout ca....

          MAT
          Marc Antoine Thevenet
          MATsxm
          mathevenet@community.joomla.org

          Commentaire


          • #6
            Re : Module de recherche personnalisé : seulement le contenu (main)

            De rien
            C'est un premier "débroussaillage", il y a toujours un bemol : le filtre sur les sous-catégories ne fonctionne pas avec cette solution.
            Et j'ai beaucoup de mal à comprendre pourquoi lorsqu'on crée deux modules de recherche lier à un ID de menu différent chacun et qu'on effectue une recherche sur le module 1 (par exemple) on atterri sur le lien de menu associé au module 2 oO.
            Solution trouvée : fichier components\com_search\controller.php remplacer :

            if(isset($items[0])) {
            $post['Itemid'] = $items[0]->id;
            } else if (JRequest::getInt('Itemid') > 0) { //use Itemid from requesting page only if there is no existing menu
            $post['Itemid'] = JRequest::getInt('Itemid');
            }


            Par :
            $post['Itemid'] = JRequest::getInt('Itemid');

            Le module de recherche renverra sur le bon formulaire de recherche
            Dernière édition par jojo7466 à 26/04/2011, 14h44

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X