Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'article

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

  • [RÉGLÉ] Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'article

    Salut a toute la communauté, je paramètre actuellement mon site via joomla, en ce moment je personnalise le style des résultats de recherche renvoyer en modifiant le fichier : "default_results.php" (en prenant soin de l'avoir dupliqué dans mon dossier HTML de mon tamplate comme vu sur ce forum). j'utilise le fichier default_results.php pour modifié la hiérarchie des informations par ex , ajouter des classes et div ect... de manière a le stylisé, mais j'aimerai a présent et c'est la l'objet de mon problème ajouter quelques données en plus (non disponible par défaut dans ce fichier) ...la ça ce corse on sort de ma zone de confort... je me pose donc quelque questions :

    En lançant une recherche: le module de recherche de joomla m'affiche des Articles sous forme d'echo : <?php echo $result->text; ?> la balise text ici présente m'affiche par exemple une table de la BDD concernant l'article rechercher en l'occurrence un texte de l'article ... j'ai donc réussi en recherchant dans la BDD les "noms des champs pour en ajouter" j'ai donc rajouter des balises de la même manière en ajoutant a mon fichier par exemple : <?php echo $result->metadesc; ?> ici la description apparaît et ça, c'est cool par contre je n'arrive pas a ajouter "N'importe quelle donnée" (l'auteur de l'article par exemple) (qui ne fait pas partie de la table de l'article rechercher), mais apparaît dans une autre table -> Users.

    Je ne parviens pas a être très clair, mais en gros : je ne sais pas quelle balise utilisée pour afficher d'autres données que celle présente dans le fichier : "default_results.php". or mi quelques exceptions :

    text = Texte de l'article
    section = Categories de l'article
    title = Titre de l'article
    metadesc = Description Article
    created = Date de creation de l'article
    metakey = Mots clef assigner de l'article

    Petite interrogation ?
    -Y 'a-t-il besoin de modifier la requête d'affichage de table, si oui ou ce trouve cette requête ? Je ne la trouve pas pour vérifier justement ... mais je pense que la requête est large puisqu'elle couvre tout le site ...
    -Y a-t-il une méthode, un fichier qui sélectionne par lesquels je dois passer avant de demander l'affichage ?

    Merci pour votre aide : Arnaud
    Autodidacte en programmation pour le plaisir.

  • #2
    Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

    Pour aller plus loin est il possible d'afficher toutes les données renvoyer d'un éléments rechercher, pour connaitre toutes les valeurs pouvant être récupérer indépendamment ?
    Autodidacte en programmation pour le plaisir.

    Commentaire


    • #3
      Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

      je revient avec de nouvelles découvertes je peut afficher certaines tables des articles via ce script :

      <h1>Les balises active :</h1>
      <?php echo $result->extra_fields_search . ' = Affiche le champ supplémentaire' ; ?><br />
      <?php echo $result->metadesc . ' = descirption de l\'article ' ; ?><br />
      <?php echo $result->metakey . ' = Mots clefs' ; ?><br />
      <?php echo $result->created . ' = date'; ?><br />
      <?php echo $result->image_caption . ' = Legende de limage'; ?><br />
      <?php echo $result->image_credits . ' = Credit de limage'; ?><br />



      En revanche impossible de faire apparaitre les Hits de l'article ??
      qui elle aussi est dans la même table, ducoup je trouve que c'est sans queue ni tête ...

      <h1>test de nouvelles Balises</h1>
      <?php echo $this->hits . ''; ?><br />


      des idées ?
      Autodidacte en programmation pour le plaisir.

      Commentaire


      • #4
        Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

        Bonsoir,
        Pour aller plus loin est il possible d'afficher toutes les données renvoyer d'un éléments rechercher, pour connaitre toutes les valeurs pouvant être récupérer indépendamment ?
        Il est possible de mettre un var_dump($result); dans le code. Mais le plus simple est d'installer J!Dump pour avoir un affichage dans une fenêtre modale. Un simple dump($result,'info libre'); suffira pour avoir le contenu du tableau
        Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
        ---
        UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
        bgMax
        , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

        Commentaire


        • #5
          Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

          yes merci ça fonctionne très bien, du coup tu as une solution pour afficher des données qui ne sont pas dans ce résultat ?
          Autodidacte en programmation pour le plaisir.

          Commentaire


          • #6
            Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

            j'avance a petits pats : Une foi le var_dump($result); exécuté je me rend compte que justement les données que je souhaite récupérer ne sont pas dans cette variable (ce qui m'étonne pas trop mais j'en ai le coeur net) ... je souhaiterai donc pouvoir accéder au fichier de la requête qui crée cette variable afin de la modifié et de passer dans la variable toutes les données dont j'ai besoin pour les récupérer dans mon fichier default_results.php mais après de très longue rechèrche je sèche impossible de mettre la main sur ce paramètre ... des idées ?
            Autodidacte en programmation pour le plaisir.

            Commentaire


            • #7
              Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

              Tu n'indiques pas (ou je n'ai pas trouvé) quelle extension tu veux modifier !
              Il faut modifier la requête SQL, mais cette modif sera écrasée à la première mise à jour de Joomla!
              Cela veut dire qu'il va falloir faire un clone de l'extension pour faire tes modifs
              Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
              ---
              UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
              bgMax
              , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

              Commentaire


              • #8
                Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

                Salut a toi Lomart et merci pour ton retour ,
                je v'ai t'apporter quelques précisions pour que tu puisse y voir plus clair dans mon bazard :

                je cherche donc plus précisément a modifier l'extension "Search" dispo dans le chemin suivant : COMPONENTS/COM_SEARCH/VIEWS/SEARCH/TMPL/default_results.php

                (c'est le module ou extension (je ne maitrise pas trop les terme exacte) de recherche classic de joomla)

                et je cherche effectivement à présent a modifier la requete SQL car j'ai compris grace a ta fonctions : var_dump(); que la variable $result dans ce même fichier ne renvoyais pas toutes les données dont j'aurait besoin.

                D'ailleur


                Cette variable comporte des données de plusieurs table pour exemple elle comporte : le titre d'un article qui ce trouve dans ma table item et le nom de la categories de cette article qui est dans une autre table, la table categories quand on fait appel a un élément d'une ligne de la table item on utilise la balise du nom de la colonne indiqué dans la BDD or quand on va chercher un élément d'une ligne de la table catégories la le nom est différents...

                sais tu pourquoi ?


                pour l'affichage du titre de l'article rechercher : <?php echo $result->title; ?> (ce nom "title" est bien le nom indiqué dans la colonne de la bdd)

                mais

                pour l'affichage du nom de la categories : <?php echo $result->section; ?> (ce nom "section" n'est pas le nom indiqué dans la colonne de la bdd le nom serait plutôt : "name")

                que signifie cette ligne $result->section quel role a la flèche dans cette example ?

                pour terminé
                je voudrai modifier le fichier et le script donc la requête SQL (selon moi) qui ajoute a cette variable $results les valeurs dont j'ai besoin... de manière a pouvoir afficher ensuite de nouvelles données dans mes résultats de rechèrche tout simplement :

                pour example afficher : les hits des articles , l'auteur , son url ect...


                as tu une idée de l'emplacement et de la ligne de code du fichier de l'extension qui indique a la var $results ces paramètres.


                Pour informations :

                j'ai déja réalisé un clone du fichier "default_results.php" dans la partie templates/monTemplate/html/com_search/search/default_results.php
                pour ne pas qu'il soit modifié lors d'une Maj

                Merci pour ton aide précieuse !
                Dernière édition par arnaud3 à 15/08/2016, 10h02
                Autodidacte en programmation pour le plaisir.

                Commentaire


                • #9
                  Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

                  Pour informations :
                  j'ai déja réalisé un clone du fichier "default_results.php" dans la partie templates/monTemplate/html/com_search/search/default_results.php
                  pour ne pas qu'il soit modifié lors d'une Maj
                  C'est bien mais la partie à modifier n'est pas surchargeable. Le composant ou extension com_search utilise des plugins pour faire ses requêtes. Donc le code doit être dans \plugins\search\content\content.php
                  N'ayant jamais touché à cette partie, je préfère être prudent sur mes conseils.
                  A te lire, je pense que tu ne maitrises pas trop le PHP et le SQL, donc je te conseille surtout d'être très prudent. Chi va piano, va sano !
                  que signifie cette ligne $result->section quel role a la flèche dans cette example ?
                  elle permet de récupérer la valeur de l'élément section du tableau $result
                  quand on va chercher un élément d'une ligne de la table catégories la le nom est différents...
                  sais tu pourquoi ?
                  Simplement parce que la requête le demande : select('c.title AS section, ...
                  Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
                  ---
                  UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
                  bgMax
                  , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                  Commentaire


                  • #10
                    Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

                    En effet je n'ai pas de grosses connaissances en la matière .
                    - En ce qui concerne la surcharge ok c'est noté, tu proposai de cloner le plug in ? si j'arrive a mes fin je le ferai de manière a pas avoir a recommencer a chaque Maj qu'en pense tu ?

                    -le code ce trouve bien dans \plugins\search\content\content.php merci !

                    j'ai trouver trois ligne de code intéressante dans ce fichier : L169 - L181 - L238



                    est ce que tu croit que rajouter a.hits sur ces trois lignes a la fin suffirait a integrer la valeurs hits a la variable $results un example :


                    L169 : $query->select('a.title AS title, a.metadesc, a.metakey, a.created AS created, a.language, a.catid')
                    L181 : ->group('a.id, a.title, a.metadesc, a.metakey, a.created, a.language, a.catid, a.introtext, a.fulltext, c.title, a.alias, c.alias, c.id')
                    L238 : 'a.title AS title, a.metadesc, a.metakey, a.created AS created, a.hits'


                    L169 (modifié): $query->select('a.title AS title, a.metadesc, a.metakey, a.created AS created, a.language, a.catid, a.hits')

                    L181 (modifié): ->group('a.id, a.title, a.metadesc, a.metakey, a.created, a.language, a.catid, a.introtext, a.fulltext, c.title, a.alias, c.alias, c.id, a.hits')

                    L238 (modifié): 'a.title AS title, a.metadesc, a.metakey, a.created AS created, a.hits'


                    c'est cette partie de ton message qui ma éclairer : select('c.title AS section, ...



                    **Pour infos la donnée Hits appartient a la même table que metadesc, metakey
                    Dernière édition par arnaud3 à 15/08/2016, 17h27
                    Autodidacte en programmation pour le plaisir.

                    Commentaire


                    • #11
                      Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

                      ca doit aller, mais l'important est de tester et retester
                      Je n'ai pas le temps de me plonger dans le code pour vérifier
                      Un message d’erreur sur votre site Joomla, consultez la base de connaissance https://kb.joomla.fr
                      ---
                      UP, un plugin "couteau suisse" à découvrir sur https//up.lomart.fr
                      bgMax
                      , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                      Commentaire


                      • #12
                        Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

                        ok je comprend , merci pour ton aide lomart !
                        Autodidacte en programmation pour le plaisir.

                        Commentaire


                        • #13
                          Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

                          Salut,
                          comme ta question m'interessait, j'ai posé la question sur joomla.stackexchange, un forum de devs joomla :
                          How to display author name in joomla search results - Joomla Stack Exchange ->
                          http://joomla.stackexchange.com/ques...search-results

                          La réponse est nickel, je l'ai testée.
                          En fait, comme te l'indiquait Lomart, il faudrait modifier le plugin associé au composant com_search.
                          La solution est de passer par smart search (com_finder) au lieu de com_search.

                          Tu suis l'explication donnée par "lodder" dans la réponse de stackexchange,
                          puis dans ton override/surcharge du fichier default_result.php dans com_finder, à placer ici :
                          templates\YOUR_TEMPLATE\html\com_finder\search\def ault_result.php

                          tu rajoutes :
                          <p><?php echo $this->result->author; ?></p>
                          <li>
                          <h4 class="result-title <?php echo $mime; ?>">
                          <a href="<?php echo JRoute::_($route); ?>"><?php echo $this->result->title; ?></a>
                          </h4>
                          <?php if ($show_description) : ?>
                          <p class="result-text<?php echo $this->pageclass_sfx; ?>">
                          <?php echo $description; ?>
                          </p>
                          <?php endif; ?>
                          <p><?php echo $this->result->author; ?></p>
                          <?php if ($this->params->get('show_url', 1)) : ?>
                          <div class="small result-url<?php echo $this->pageclass_sfx; ?>">
                          <?php echo $this->baseUrl, JRoute::_($this->result->route); ?>
                          </div>
                          <?php endif; ?>
                          </li>
                          Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                          Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                          Commentaire


                          • #14
                            Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

                            Salut Ghazal,
                            Merci beaucoup pour ton aide la je suis clairement très proche de mon objectif.

                            En suivant toutes tes indications , désormais il m'est possible d'afficher le nom de l'auteur via

                            $this->result->author;
                            j'ai tenter de lister le contenu de la var :
                            $this
                            via

                            var_dump($this);
                            puis
                            dump($this,'result');
                            via J!DUMP pour un affichage plus clair...

                            et afin de pouvoir récupérer les "nom/identifiants" des valeurs disponible pour ensuite les afficher mais la je sèche...

                            je ne parvient pas a réunir une liste des $variables pouvant être afficher j'en trouve certaines mais pas toutes par example impossible de mettre la main sur :

                            author
                            comment pourrai je faire concrètement pour savoir quel "nom" fait référence a quoi et ou dans ma base de donnée afin de comprendre le procédé et avoir un large choix de données a afficher ?
                            Autodidacte en programmation pour le plaisir.

                            Commentaire


                            • #15
                              Re : Ajouter des données sup aux résultats de recherche joomla ex:l'auteur de l'artic

                              On va dire que $this est une variable contextuelle, cad que ça va représenter ce qu'on veut, en fonction du contexte.

                              Mais ce n'est pas sur ça que tu devrais porter ton attention.
                              author, created_by_alias, created_by, etc, font référence à des éléments définis dans la bdd :
                              regarde ta bdd, la table "#_content", avec id, isset_id, title, etc ...

                              Essaie ceci, par exemple :
                              <?php echo $this->result->created_by_alias; ?>
                              Un message d’erreur sur votre site Joomla ... ayez le reflexe de consulter lla base de connaissance : https://kb.joomla.fr

                              Ce forum, vous l'aimez ? il vous a sauvé la vie ? Vous y apprenez chaque jour ? Alors adhérez à l'AFUJ https://www.joomla.fr/association/adherer

                              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

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X