Publier les commentaires Jcomments dans un autre module que le centre...

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

  • [RÉGLÉ] Publier les commentaires Jcomments dans un autre module que le centre...

    Hello les amis,

    Tout est dans le titre, je souhaite publier les commentaires relatifs à chaque article dans un seul et même module mais différent du centre de la page où il se met par défaut à la suite... Apparemment impossible de configurer cela depuis le backend du composant Jcomments. D'autres articles sur ce forum ont fait remontés l'introduction des lignes qui suivent dans l'index.php (ou autre), bref le fichier appelé pour la génération de la page et des commentaires (à mettre au bon endroit dans le .php) :
    Code PHP:
                                <div class="inside_main">
                                    <?php
                                       
    global $mainframe;
                                       
    $comments $mainframe->getCfg('absolute_path') . '/components/com_jcomments/jcomments.php';
                                       if (
    file_exists($comments)) {
                                           require_once(
    $comments);
                                           
    $MonId=JRequest::getVar('id'0'get''int');
                                           echo 
    JComments::showComments($MonId'com_content''Laissez vos messages');
                                       }
                                    
    ?>
                                </div>
    A quoi correspond lq vqriqble $MonId, et com_content renvoie à quoi ?
    C'est la première fois que je mets les mains aussi profond dans Joomla et j'aimerais qu'on m'explique un peu ces bouts de code. Si la solution vient en plus ce serait le top!

    Merci d'avance pour votre aide
    Au plaisir de vous lire

  • #2
    Re : Publier les commentaires Jcomments dans un autre module que le centre...

    Bonjour,

    J'ai pas vérifié $MonId mais c'est certainement l'identifiant des commentaires dans les tables de jcomments.
    com_content est le composant des articles.

    Je crois comprendre que tu souhaites placer les commentaires ailleurs qu'en dessous de l'article ?
    C'est bien cela ?
    Si oui, où ???
    Artiste international, producteur phonographique et bidouilleur du web encore et toujours en activité.
    Compositeur du groupe : Roses Street présent sur toutes les plateformes de steaming.
    I'am happy for you !
    Dernière réalisation : http://www.pierrickservais.com/

    Commentaire


    • #3
      Re : Publier les commentaires Jcomments dans un autre module que le centre...

      Envoyé par papounet Voir le message
      Bonjour,

      J'ai pas vérifié $MonId mais c'est certainement l'identifiant des commentaires dans les tables de jcomments.
      com_content est le composant des articles.

      Je crois comprendre que tu souhaites placer les commentaires ailleurs qu'en dessous de l'article ?
      C'est bien cela ?
      Si oui, où ???
      Salut,

      Merci de ton intérêt c'est sympa
      Effectivement j'aimerais placer les commentaires générés par Jcomments dans une autre position du template pour pouvoir les distinguer clairement du corps de l'article. En fait en dessous mais dans un autre "bloc", correspondant à mon template perso (appelons ce bloc "position-comments", créé pour accueillir le xhtml généré par Jcomments).
      Des idées ?
      Merci encore

      Commentaire


      • #4
        Re : Publier les commentaires Jcomments dans un autre module que le centre...

        Dans une autre position pas possible à mon avis parce que jcomments sans aucun doute besoin de l'Id de l'article pour retrouver ces petits.
        Par contre, faire tout comme avec un peu de css, ce doit être possible.
        Écoutes, j'ai un site à mettre en ligne. Il me reste justement que ce composant à installer. ce soir ou demain.
        Comme le design ne me convient pas, je vais triturer un max coté css.
        Donnes moi une idée plus précise de ce que tu souhaites avoir. Par exemple, une image..
        Et on se règles ça en quelques en 5/7

        Papounet
        Artiste international, producteur phonographique et bidouilleur du web encore et toujours en activité.
        Compositeur du groupe : Roses Street présent sur toutes les plateformes de steaming.
        I'am happy for you !
        Dernière réalisation : http://www.pierrickservais.com/

        Commentaire


        • #5
          Re : Publier les commentaires Jcomments dans un autre module que le centre...

          Envoyé par papounet Voir le message
          Dans une autre position pas possible à mon avis parce que jcomments sans aucun doute besoin de l'Id de l'article pour retrouver ces petits.
          Par contre, faire tout comme avec un peu de css, ce doit être possible.
          Écoutes, j'ai un site à mettre en ligne. Il me reste justement que ce composant à installer. ce soir ou demain.
          Comme le design ne me convient pas, je vais triturer un max coté css.
          Donnes moi une idée plus précise de ce que tu souhaites avoir. Par exemple, une image..
          Et on se règles ça en quelques en 5/7

          Papounet
          Hello Papounet-bidouilleur,

          Merci pour ta reponse c'est cool,

          Alors voila un prototype de ce a quoi cela devrait ressembler (on y est pas!)

          Cliquez sur l'image pour l'afficher en taille normale

Nom : sample.jpg 
Affichages : 1 
Taille : 8,5 Ko 
ID : 1801946

          Maintenant le bloc de mon article a pour conteneur mère (grosso merdo) :

          Code HTML:
          <div class="inside_main">
          </div>
          et l'idée du coup serait d'avoir un truc du genre

          Code HTML:
          <div class="inside_main">
          </div>
          
          <div class="clr"></div>
          
          <!-- Rajouté pour test -->
          <!-- eventuellement ici mettre un <?php if (!$this->countModules('position-comments') mais le Jcomments n'a pas l'air de vouloir se glisser dans une position, d'ou mon gros probleme... -->				
               <div class="inside_main">
          	<p> Mes commentaires ici, mais avant c'est trop laid! </p>
               </div>
          
               <div class="clr"></div>
          
          <!-- puis fermer ma balise php ici <?php endif; ?> -->					
          <!-- Fin Rajouté pour test -->
          Voila, du coup j'ai l'impression que l'identité meme de mon css fait que ca risque d'etre impossible de le bidouiller pour arriver a retomber sur mes pates; j'espere que je me trompe!

          Livre d'abord ton projet evidemment, rien d'urgent de mon coté meme si ca me chagrine bien,

          Cordialement,

          mol86

          Commentaire


          • #6
            Re : Publier les commentaires Jcomments dans un autre module que le centre...

            okay, je vois.

            Le site concerné est il en ligne ???
            Artiste international, producteur phonographique et bidouilleur du web encore et toujours en activité.
            Compositeur du groupe : Roses Street présent sur toutes les plateformes de steaming.
            I'am happy for you !
            Dernière réalisation : http://www.pierrickservais.com/

            Commentaire


            • #7
              Re : Publier les commentaires Jcomments dans un autre module que le centre...

              Envoyé par papounet Voir le message
              okay, je vois.

              Le site concerné est il en ligne ???
              Non malheureusement, il sera en ligne le jour ou j'aurais réussi à faire un truc décent. Pour le moment c'est plutôt immonde et j'en suis encore au stade de découverte de Joomla mais j'adoooore!

              Donc je persiste. Il faut que je trouve une solution.

              Thanks papounet,

              Cordialement,

              mol86

              Commentaire


              • #8
                Re : Publier les commentaires Jcomments dans un autre module que le centre...

                Bien reçu !

                j'ai installé jcomments sur une copie de mon site en local.
                C'est un peu galère parce que l'admin est en anglais, car je perds du temps à traduire ce que je ne comprend pas.

                Bref, je ne comprend pas ce que c'est que ce code php que tu avance plus haut.
                A priori, je pense que ce n'est pas utile pour faire ce que tu souhaites.
                Toute la partie commentaire est publié dans une balise div. Donc pas de soucis pour mettre une image (ta séparation avec l'article).
                Artiste international, producteur phonographique et bidouilleur du web encore et toujours en activité.
                Compositeur du groupe : Roses Street présent sur toutes les plateformes de steaming.
                I'am happy for you !
                Dernière réalisation : http://www.pierrickservais.com/

                Commentaire


                • #9
                  Re : Publier les commentaires Jcomments dans un autre module que le centre...

                  Envoyé par papounet Voir le message
                  Bien reçu !

                  j'ai installé jcomments sur une copie de mon site en local.
                  C'est un peu galère parce que l'admin est en anglais, car je perds du temps à traduire ce que je ne comprend pas.

                  Bref, je ne comprend pas ce que c'est que ce code php que tu avance plus haut.
                  A priori, je pense que ce n'est pas utile pour faire ce que tu souhaites.
                  Toute la partie commentaire est publié dans une balise div. Donc pas de soucis pour mettre une image (ta séparation avec l'article).
                  Salut papounet, vraiment sympa de te pencher sur mon souci (souci qui commence à me gaver bien comme il faut), merci!

                  Oublions le code PHP (il reste le code html). Tu me dis que le toute la partie commentaire est publiée dans une balise div, complètement d'accord et cette balise est :
                  Code PHP:
                  <div id="jc">blablabla</div
                  On touche au coeur de mon problème : cette balise div est imbriquée dans mon bloc div "inside_main", c'est-à-dire mon bloc conteneur (que j'ai créé dans mon template) affichant le corps de la page (articles, forum, etc.).

                  Pour effectuer la séparation en image plus haut, je dois fermer mon bloc "inside_main" et en réouvrir un en mettant ce fameux bloc
                  Code PHP:
                  <div id="jc">blablabla</div
                  dedans.

                  Mon problème : Grosso merdo, je ne trouve pas de moyen de dire à Joomla "hého, mon bloc
                  Code PHP:
                  <div id="jc"
                  je ne veux pas que tu le printes dans ce bloc conteneur mais plutot celui là! (en l'occurrence le deuxième pour généré l'effet visuel voulu)

                  J'espère que tu pourras m'aider! Je te remercie encore du temps que tu me consacres, vraiment chouette!

                  Commentaire


                  • #10
                    Re : Publier les commentaires Jcomments dans un autre module que le centre...

                    En fait dans le back end du composant, onglet "Settings" puis "Layout", le premier cadre appelé "View" propose de choisir son template dans une liste déroulante (le "defaut" est sélectionné de base). Le template installé par défaut est ici : /components/com_jcomments/tpl/
                    Mes compétences s’arrêtent vite malheureusement... une dizaine de fichier php, un dossier image, bref un gros bordel.
                    Mais j'aimerais trouver la ligne de code à rajouter (si il n'y a que ça) ou trouver l'endroit où modifier le fait que Jcomments mette par défaut le display dans la classe générée par Joomla pour afficher le corps de page, la classe "item-page". Cet endroit n'est d'ailleurs surrement pas dans le template mais peut être dans un autre endroit du composant (les core fonctions). Mais bon là ca pique trop j'y connais rien. Enfin bref peut-être qu'il y a moyen de s'en sortir qu'en utilisant du css papounet, mais j'en doute fort si tu as compris mon problème! Après évidemment je peux (et j'espère) me tromper! Je suis là pour apprendre les astuces des chefs

                    Many thanks,

                    mol86

                    Commentaire


                    • #11
                      Re : Publier les commentaires Jcomments dans un autre module que le centre...

                      Bonjour,

                      J'avais bien compris.

                      Donc Monsieur fait son propre template.
                      Et en plus, il a tout compris, sauf qu'il n'a pas encore pris le temps d'analyser la conception des extensions.

                      La solution de ton problème est dans le fichier en pièce jointe.
                      Je donnes les explications pour les newbies qui suivent ce sujet.

                      Bref, on attend la mise en ligne avec impatience et on souhaite ardemment être informé, ça va de soit !!!

                      Pour pouvoir revenir en arrière, renommer le fichier tpl_index.php en tpl_index_souce.php
                      Emplacement à partir de la racine du site : components/com_jcomments/tpl/default/
                      Extraire le mien à partir de l'archive jointe à ce post et le coller à cette emplacement.

                      Ce fichier contient le code html généré par Jcomments pour afficher les commentaires dans l'article.
                      Je n'ai pas cherché à faire un nouveau template pour Jcomments, car pas de temps à perdre pour une modification aussi simple. Donc, c'est celui par défaut que nous modifions...

                      Ceux qui veulent un nouveau template n'ont qu'à dupliquer le dossier default et lui flanquer un nom et faire les modification dans ce nouveau template ainsi créer sans oublié de le sélectionner dans le setting de Jcomments...

                      Les modifications réalisées dans le fichier tpl_index.php sont commentées dedans, elles sont les suivantes :
                      1. Ajout en ligne 53 d'une balise de fermeture div pour fermer le container des composants implanté dans le template.
                      2. Ajout en ligne 98 d'une balise d'ouverture div pour récupérer la fermeture prématurée précédente et ne pas laisser trainer une balise div de fermeture non ouverte dans le template.


                      Commentaire sur le point 2 si dessus :
                      La ligne 98 du fichier joint est la suivante :
                      Code PHP:
                      <div class="clr"
                      On pouvait plus simplement supprimer la balise de fermeture div située en ligne 93 ou mieux la mettre en commentaire.
                      Vous pouvez aussi remplacer ma ligne 98 par :
                      Code PHP:
                      <div style="display:none;"
                      La bonne solution dépend de ce que vous faites par ailleurs.
                      En l'absence d'autres modifications, la mise en commentaire est la bonne.
                      Mais en cas d'ajout avec des boites css qui flottent, celle de la class clr s'impose.


                      Papounet
                      Artiste international, producteur phonographique et bidouilleur du web encore et toujours en activité.
                      Compositeur du groupe : Roses Street présent sur toutes les plateformes de steaming.
                      I'am happy for you !
                      Dernière réalisation : http://www.pierrickservais.com/

                      Commentaire


                      • #12
                        Re : Publier les commentaires Jcomments dans un autre module que le centre...

                        Salut papounet,

                        Merci beaucoup du temps que tu passes pour m'aider! Je ne trouve pas la pièce jointe dont tu parles dans ton message
                        Par contre tu as très bien cerné mon problème et c'est exactement ça je commence a me débrouiller en création de template tandis que je balbutie encore dans ma découverte de la conception des extensions

                        Je vais toutefois commencer à regarder dès maintenant le fichier tpl_index.php pour comprendre à quoi tu te réfères (à part permuter des blocs div qui permutent l'affichage des blocs "commentaire" et "form" je n'avais pas réussi à en faire grand chose pour être honnête...).

                        Pour le css, dans mon cas, ce sont des blocs flottants donc un bon clear s'impose.

                        Sinon évidemment lorsque ce site verra le jour tu en seras informé! (et il le verra un jour, ça c'est sur, mais là on y est juste PAS lol)

                        Encore merci à toi,

                        mol86

                        Commentaire


                        • #13
                          Re : Publier les commentaires Jcomments dans un autre module que le centre...

                          Voici la pièce jointe avec un léger retard...

                          tpl_index.zip
                          Artiste international, producteur phonographique et bidouilleur du web encore et toujours en activité.
                          Compositeur du groupe : Roses Street présent sur toutes les plateformes de steaming.
                          I'am happy for you !
                          Dernière réalisation : http://www.pierrickservais.com/

                          Commentaire


                          • #14
                            Re : Publier les commentaires Jcomments dans un autre module que le centre...

                            Envoyé par papounet Voir le message
                            Voici la pièce jointe avec un léger retard...

                            [ATTACH]22283[/ATTACH]
                            Salut papounet,

                            Effectivement c'est bien ce que j'avais compris depuis ton dernier message. J'ai du coup implémenté cette solution (pour le moment) et testé ça ce matin, ça marche sans souci et j'ai exactement l'effet escompté. Bon je trouve ca très très moche, ça fait un peu lego et quand le site sera bcp plus gros et complexe, pas facile de se rappeler pourquoi j'ai des balises qui ne se ferment pas dans mon template perso et d'autres qui se ferment sans jamais s'ouvrir dans le template de Jcomments. Mais bon, ça a le mérite de faire le taff, pour le moment et ma foi je n'y avais pas du tout pensé donc merci beaucoup pour cette solution!!

                            Il faut que j’étudie encore un peu la question pour voir si je conserve cette solution ou pas. En attendant j'ai trouvé du code php qui a l'air de pas trop merder mais là ça pique un peu plus. En gros directement dans mon template je peux insérer les lignes suivantes à la suite de mon bloc "inside_main" principal :

                            Code PHP:
                            <div class="inside_main">                        
                            <?php
                                 
                            global $mainframe;
                                 
                            $mainframe JFactory::getApplication();
                                 
                            $comments $mainframe->getCfg('absolute_path') . '/components/com_jcomments/jcomments.php';
                                  
                                 if (
                            file_exists($comments)) {
                                      require_once(
                            $comments);
                                        
                                      
                            $MonId=JRequest::getVar('id'0'get''int');
                                                                    
                                      echo 
                            JComments::show($MonId'com_content'$this->params->get('page_title'));

                                 }
                            ?>    
                            </div>
                            La variable $MonId renvoie bien l'id de l'article dont le composant se sert pour remonter aux commentaires qui lui sont associés. Par contre le echo n'affiche rien car les commentaires ont déjà été affichés au dessus dans le mainbody de la page du coup bah... ça sert a rien! Et comment il sait que ça a déjà été affiché ? Bah dans le fichier jcomments.php, a la ligne 174, la fonction show() est définie comme suit :

                            Code PHP:
                            public static function show$object_id$object_group 'com_content'$object_title '' ){
                                    
                                 
                            // only one copy of JComments per page is allowed
                                 
                            if (defined('JCOMMENTS_SHOW')) {
                                       return 
                            '';
                                 }

                                 
                            blablabla...

                                 
                            define('JCOMMENTS_SHOW'1);
                                 
                                 return 
                            $result;

                            Évidemment en virant la ligne qui définie la variable JCOMMENTS_SHOW à la fin de la fonction 'show()' bah mes commentaires se printent bien dans mon bloc et tout est beau et magnifique...Seulement le commentaire se printe aussi dans le mainbody donc j'ai tout en double => Bien pourri.

                            Bref voilà ou j'en suis pour le moment et je suis a peu près certain de ne pas y arriver tout seul sur ce coup là car sans de plus grandes connaissances en php je n'irai pas plus loin. Je suis en revanche à peu près certain également qu'une solution de ce type doit exister!

                            Si tu peux encore m'aider là-dessus ce serait vraiment top... Ce serait la solution la plus stable à mon gout, si j'arrive à l'implémenter, même si la tienne me "dépanne" en attendant de trouver celle-ci. (Je me considère quand même toujours en pause dans le développement de mon site)

                            Papounet, si tu as des idées, je suis encore et toujours preneur! Désolé de t’embêter autant

                            Merci beaucoup !

                            mol86

                            Commentaire


                            • #15
                              Re : Publier les commentaires Jcomments dans un autre module que le centre...

                              Ben voilà, on lui trouve une bidouille et il aime pas les bidouille !

                              Crénom, alors nouvelle bidouille :
                              On remet le tpl_index.php source.
                              Jcomment affiche le commentaire dans l'article
                              Et avec ton code tu as 2 fois les commentaires.
                              Et il faut enlever dans l'article.
                              Okay Okay
                              Il suffit de mettre de mettre un display:none dans le style #jc
                              Voilà y a plus de commentaires dans l'article
                              Oui mais ton code affiche plus rien
                              Okay Okay
                              Ton code tu le place dans un div avec un style :
                              Code PHP:
                              <div id="ton-style">
                                
                              Ton code qui affiche les commentaires
                              <:div
                              Le css qui va afficher les commentaires :
                              Code PHP:
                              #ton-style { display:block;} 
                              Et pis c'est tout
                              Artiste international, producteur phonographique et bidouilleur du web encore et toujours en activité.
                              Compositeur du groupe : Roses Street présent sur toutes les plateformes de steaming.
                              I'am happy for you !
                              Dernière réalisation : http://www.pierrickservais.com/

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X