Modification moteur de recherche : changement requête catégorie

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

  • [Problème] Modification moteur de recherche : changement requête catégorie

    Salut tout le monde,

    je reviens vers vous, après une aprem de recherche je n'ai pas de solution.

    J'aimerai modifier le moteur de recherche de base pour qu'il questionne une autre adresse dans ma base de données.

    Voici le code qui doit être intéressant dans /www/plugins/search/content.php.

    Code:
    // search articles
    	if ( $sContent && $limit > 0 )
    	{
    		$query = 'SELECT a.title AS title, a.metadesc, a.metakey,'
    		. ' a.created AS created,'
    		. ' CONCAT(a.introtext, a.fulltext) AS text,'
    		. ' CONCAT_WS( "/", u.title, b.title ) AS section,'
    		. ' CASE WHEN CHAR_LENGTH(a.alias) THEN CONCAT_WS(":", a.id, a.alias) ELSE a.id END as slug,'
    		. ' CASE WHEN CHAR_LENGTH(b.alias) THEN CONCAT_WS(":", b.id, b.alias) ELSE b.id END as catslug,'
    		. ' u.id AS sectionid,'
    		. ' "2" AS browsernav'
    		. ' FROM #__content AS a'
    		. ' INNER JOIN #__categories AS b ON b.id=a.catid'
    		. ' INNER JOIN #__sections AS u ON u.id = a.sectionid'
    		. ' WHERE ( '.$where.' )'
    		. ' AND a.state = 1'
    		. ' AND u.published = 1'
    		. ' AND b.published = 1'
    		. ' AND a.access <= '.(int) $user->get( 'aid' )
    		. ' AND b.access <= '.(int) $user->get( 'aid' )
    		. ' AND u.access <= '.(int) $user->get( 'aid' )
    		. ' AND ( a.publish_up = '.$db->Quote($nullDate).' OR a.publish_up <= '.$db->Quote($now).' )'
    		. ' AND ( a.publish_down = '.$db->Quote($nullDate).' OR a.publish_down >= '.$db->Quote($now).' )'
    		. ' GROUP BY a.id'
    		. ' ORDER BY '. $order
    		;
    		$db->setQuery( $query, 0, $limit );
    		$list = $db->loadObjectList();
    		$limit -= count($list);
    
    		if(isset($list))
    		{
    			foreach($list as $key => $item)
    			{
    				$list[$key]->href = ContentHelperRoute::getArticleRoute($item->slug, $item->catslug, $item->sectionid);
    			}
    		}
    		$rows[] = $list;
    	}
    je vois bien le FROM#_content AS que je devrais modifier en FROM jos_js_res_record` mais comment faire ?

    quels autres paramètres / fichiers je dois modifier ?

    Merci d'avance pour le coup de pattes !

  • #2
    Un pti up'

    Commentaire


    • #3
      Encore un ptit up je suis sur que quelqu'un pourrait m'aiguiller sur les paramètres a rentrer pour accéder a ces foutus tables.

      Commentaire


      • #4
        toujours la même question

        Commentaire


        • #5
          Un chti coup de main siouplai

          Commentaire


          • #6
            Bonjour,
            déjà pas besoin de modifier ce fichier, sauf si tu veux casser la recherche Joomla. Si tu veux seulement ajouter ta table au périmètre des recherche, tu dois simplement ajouter un fichier php là où tu as trouvé celui-ci, c'est à dire dans plugins/search.
            Tu auras intérêt à partir d'un plugin plus simple que le com_content comme weblinks.php.

            Après tu as à peu près bien ciblé la modif principale mais ta question fait peur... Se lancer dans un truc pareil sans avancer en 48h...

            Déjà il faut que tu connaisse suffisamment ta table et les droits associés pour pouvoir modifier non seulement le from mais tout ce qu'il y a autour : le titre que tu vas afficher, les champs où faire la recherche, les champs pour générer l'URL...

            > Modifier complétement, donc, la requête, en gardant bien toutefois le $where qui contient la recherche élaborée en amont
            > Justement, modifier en amont du code la construction du tableau $where2[] avec les champs visés par la recherche
            > Modifier en aval le chargement de l'url cible $list[$key]->href avec ce qui va permettre d'afficher la "bonne" page.

            Ça devrait suffire...

            MAIS,
            si cette table fait partie d'un composant honorablement connu dans son quartier, possible qu'il existe déjà un plugin de recherche associé...
            Schtroumpfe toi le Schtroumpf t'aidera.
            Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

            Commentaire


            • #7
              Salut Grand Schtroumpf, merci d'avoir prit le temps de me répondre. J'ai vraiment besoin d'un lanterne pour ce coup

              Je vais faire les essais en mettant un nouveau fichier php, qui appel la table voulue. Je verrai un peu si un résultat s'affiche et comment surtout.

              Juste pour répondre à tes interrogations, le composant est migthy extension apparemment assez utilisée et pas grand monde se plaint du moteur de recherche.

              Je m'explique; quand on lance une recherche, le mot utilisé est rentré dans la session est ajouté comme mot clé sur la page avec une petite croix pour le supprimer.

              Ca ne parait pas genant mais si on ne supprime pas tous les mots clés à la main un par un, le mot clé reste dans la session, donc même si on change de page, la recherche est toujours en cours et n'affiche que les articles en rapport.

              Je ne sais pas pourquoi ils ont pondu un truc pareil, c'est complètement débile. On dirait qu'ils veulent refaire le monde.

              En tout cas, merci beaucoup. Je reviens poster un compte rendu quand j'aurais fini.

              Commentaire


              • #8
                Re : Modification moteur de recherche : changement requête catégorie

                Dans le même ordre d'idée, j'ai besoin de modifier le plugins/search/content.php afin que les résultats soient classés par pertinence (d'abord mots recherchés dans le titre, puis dans le contenu, etc.).

                Ca fait un bon moment que je cherche quelque chose qui fasse cela, mais je crois que je suis bon pour l'écrire moi-même.

                Y a-t-il moyen d'overrider ce fichier, ou la seule soluce est de modifier le fichier à sa place ?

                Cordialement

                Commentaire


                • #9
                  Re : Modification moteur de recherche : changement requête catégorie

                  Bonjour,
                  Y a-t-il moyen d'overrider ce fichier, ou la seule soluce est de modifier le fichier à sa place ?
                  pas de mécanisme de surcharge par là donc modif sur place.
                  Schtroumpfe toi le Schtroumpf t'aidera.
                  Je ne schtroumpfe pas aux demandes de schtroumpf par MP.

                  Commentaire


                  • #10
                    Re : Modification moteur de recherche : changement requête catégorie

                    Bonjour Grand Schtroumpf,

                    excuse, je n'avais pas vu le mail signalant ta réponse.

                    En fait, j'ai tout simplement écris un nouveau plugin de recherche, et puis voilà...

                    Merci.

                    Commentaire

                    Annonce

                    Réduire
                    1 sur 2 < >

                    C'est [Réglé] et on n'en parle plus ?

                    A quoi ça sert ?
                    La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

                    Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

                    Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
                    Comment ajouter la mention [Réglé] à votre discussion ?
                    1 - Aller sur votre discussion et éditer votre premier message :


                    2 - Cliquer sur la liste déroulante Préfixe.

                    3 - Choisir le préfixe [Réglé].


                    4 - Et voilà… votre discussion est désormais identifiée comme réglée.

                    2 sur 2 < >

                    Assistance au forum - Outil de publication d'infos de votre site

                    Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

                    Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

                    Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

                    UTILISER À VOS PROPRES RISQUES :
                    L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

                    Problèmes connus :
                    FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

                    Installation :

                    1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

                    Archive zip : https://github.com/AFUJ/FPA/zipball/master

                    2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

                    3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

                    4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

                    5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

                    6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
                    et remplacer www. votresite .com par votre nom de domaine


                    Exemples:
                    Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/
                    Pour executer le script: http://www..com/fpa-fr.php

                    Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
                    Télécharger le script fpa-fr.php dans: /public_html/cms/
                    Pour executer le script: http://www..com/cms/fpa-fr.php

                    En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

                    Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
                    Voir plus
                    Voir moins
                    Travaille ...
                    X