Comment modifié le contenu d'un appel echo implode($)

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

  • [RÉGLÉ] Comment modifié le contenu d'un appel echo implode($)

    Bonjour je cherche a modifié le contenu d'une page sur kunena,
    j'ai recherché ou était placer les lignes de code dans le corps du document et une foi trouver je suis tomber sur une ligne très souvent rencontrée :

    Code HTML:
    <li>
    <?php echo implode($categoryActions); ?>
    </li>
    le contenu que je souhaite modifié est dans cette variable
    Code HTML:
    $categoryActions
    cependant je ne vois pas la déclaration du contenu de cette variable, dans cette page la seule déclaration est la suivante :

    Code HTML:
    $categoryActions = $this->getCategoryActions();
    Je voudrais savoir si vous pourriez m'aider à trouver comment accéder au contenu de cette variable afin de la modifier.

    Merci !
    Autodidacte en programmation pour le plaisir.

  • #2
    Re : Comment modifié le contenu d'un appel echo implode($)

    Bonjour,

    Il faut faire un grep (recherche de texte dans les fichiers) pour trouver où se trouve cette méthode.

    Ensuite, que veux tu modifier ?
    Si c'est pour retirer une partie, tu peux agir sur le tableau $categoryActions avant son implode. Pour ajouter aussi d'ailleurs !
    UP, le plugin universel à découvrir sur https//up.lomart.fr
    bgMax
    , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

    Commentaire


    • #3
      Re : Comment modifié le contenu d'un appel echo implode($)

      Bonjour lomart et merci pour ton soutient , en l'occurrence il s'agit de bouton d'action et je souhaite ajouter des icônes fontawesome j'ai donc besoin d'accéder au script qui est contenu dans cette variable pour ajouter
      <i class="fa fa-eercast" aria-hidden="true"></i>
      qu'entend tu par faire un grep ?
      Autodidacte en programmation pour le plaisir.

      Commentaire


      • #4
        Re : Comment modifié le contenu d'un appel echo implode($)

        Bonjour Arnaud,

        Il faut déjà voir ce que contient précisemment $categoryActions.
        Cela peut être fait en ajoutant var_dump($categoryActions); juste après dans le code. Ou en se servant de JDump!

        Ensuite, on peut très bien imaginer un code comme celui-ci :
        Code PHP:
        $sep='<i class="fa fa-eercast" aria-hidden="true"></i>'
        echo 
        $sep implode($sep$categoryActions); 
        Attention a ne pas modifier le code de base, préférer une surcharge

        qu'entend tu par faire un grep ?
        regarde ceci : https://forum.joomla.fr/showthread.p...s-fichiers-php
        UP, le plugin universel à découvrir sur https//up.lomart.fr
        bgMax
        , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

        Commentaire


        • #5
          Re : Comment modifié le contenu d'un appel echo implode($)

          Alors du coup la variable contient trois éléments :

          Code:
          <?php dump($categoryActions);?>
          retourne les trois boutons et leur propriété :

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

Nom : JDump.JPG 
Affichages : 1 
Taille : 52,1 Ko 
ID : 1806314

          Le script que je souhaite ajouter doit être différent pour chacun d'entre eux.

          Je modifie actuellement les données présentes dans mon fichier components/com_kunena/template/monTemplate/... c'est bien ce que tu entends par surcharge ?

          Que faudrait il entrer dans le champ de recherche pour trouver l'endroit ou ce trouve les trois boutons ?
          Dernière édition par arnaud3 à 09/07/2017, 09h43
          Autodidacte en programmation pour le plaisir.

          Commentaire


          • #6
            Re : Comment modifié le contenu d'un appel echo implode($)

            Je modifie actuellement les données présentes dans mon fichier components/com_kunena/template/monTemplate/... c'est bien ce que tu entends par surcharge ?
            Non, les fichiers doivent se trouver dans ton template.
            Je n'ai jamais fait pour Kunena. Regarde cette dicussion : https://forum.joomla.fr/showthread.p...-Comment-faire

            Le script que je souhaite ajouter doit être différent pour chacun d'entre eux.
            Tu veux uniquement changer l'aspect, c'est pas vraiment un script. Au lieu du implode, tu peux essayer. Je n'ai pas testé, mais l'idée est là!
            Code PHP:
            $iconref = array('create'=>'fa fa-eercast''markread=>'fa fa-xxx', etc);
            $out='';
            foreach ($categoryActions as $action) {
              $out .= '
            <class="'.$iconref[$action->name].'" aria-hidden="true"></i>$action->name';

            UP, le plugin universel à découvrir sur https//up.lomart.fr
            bgMax
            , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

            Commentaire


            • #7
              Re : Comment modifié le contenu d'un appel echo implode($)

              Merci lomart,

              j'ai essayé ceci :

              Code:
              <?php
              	$iconref = array('create'=>'ref1', 'markread'=>'ref2', 'subscribe'=>'ref3'); 
              	$out=''; 
              	foreach ($categoryActions as $action) { 
              		$out .= '<i class="'.$iconref[$action->create].'" aria-hidden="true"></i>$action->create'; 
              	}  
              	echo $out;
              ?>
              le code me retourne ça :

              <i class="" aria-hidden="true"></i>
              $action->create

              <i class="" aria-hidden="true"></i>
              $action->create

              <i class="" aria-hidden="true"></i>
              $action->create
              je doit pas être très loin ! tu aurais une idée de ce qui peut avoir été raté ?
              Autodidacte en programmation pour le plaisir.

              Commentaire


              • #8
                Re : Comment modifié le contenu d'un appel echo implode($)

                $iconref[$action->create]
                ce doit être
                $iconref[$action->name]

                A vérifier avec un dump($action);

                Attention au guillemet de fin, il englobe la variable. Cela doit être correct

                Code PHP:
                $out .= '<i class="'.$iconref[$action->name].'" aria-hidden="true"></i>'.$action->name
                Dernière édition par lomart à 09/07/2017, 16h42
                UP, le plugin universel à découvrir sur https//up.lomart.fr
                bgMax
                , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                Commentaire


                • #9
                  Re : Comment modifié le contenu d'un appel echo implode($)

                  a oui merci j'avais pas vu le guillemet !

                  donc effectivement maintenant cela me retourne bien :

                  Code HTML:
                  <i class="ref1" aria-hidden="true"></i>
                  create
                  <i class="ref2" aria-hidden="true"></i>
                  markread
                  <i class="ref3" aria-hidden="true"></i>
                  subscribe 
                  par contre ce script ne me retourne que le nom du tableau categoryActions, l'objectif était de recrée les boutons ? en affichant $out ?
                  Autodidacte en programmation pour le plaisir.

                  Commentaire


                  • #10
                    Re : Comment modifié le contenu d'un appel echo implode($)

                    Voila ce qu'affiche
                    Code HTML:
                    <?php echo implode($categoryActions); ?>
                    Code HTML:
                    <a class="btn-success jf_ku_btn" href="/index.php/forum/comment-ca-marche/topic/create" rel="nofollow" title="Créer un nouveau sujet." name="create"> Nouveau sujet</a>
                    
                    <a class="jf_ku_btn" href="/index.php/forum/comment-ca-marche/task-markread?fc4cd480812cd642928cafabd63e385c=1" rel="nofollow" title="Marquer tous les sujets dans cette catégorie comme lus." name="markread"> Marquer comme lu</a>
                    
                    <a class="jf_ku_btn" href="/index.php/forum/comment-ca-marche/task-subscribe?fc4cd480812cd642928cafabd63e385c=1" rel="nofollow" title="Abonnez-vous à cette catégorie." name="subscribe"> S'abonner</a>
                    Autodidacte en programmation pour le plaisir.

                    Commentaire


                    • #11
                      Re : Comment modifié le contenu d'un appel echo implode($)

                      il faudrait faire un dump(implode($categoryActions));
                      pour voir ce qu'il retourne.
                      J'ai un doute que ce soit cela qui crée les boutons
                      UP, le plugin universel à découvrir sur https//up.lomart.fr
                      bgMax
                      , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                      Commentaire


                      • #12
                        Re : Comment modifié le contenu d'un appel echo implode($)

                        oui ça a l'air :

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

Nom : JDump-2.JPG 
Affichages : 1 
Taille : 22,6 Ko 
ID : 1806315
                        Autodidacte en programmation pour le plaisir.

                        Commentaire


                        • #13
                          Re : Comment modifié le contenu d'un appel echo implode($)

                          C'est bizarre!
                          Le dump de l'implode ne correspond pas à celui du tableau.

                          Que donne un dump($categoryActions); juste avant l'appel echo implode($categoryActions);
                          UP, le plugin universel à découvrir sur https//up.lomart.fr
                          bgMax
                          , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                          Commentaire


                          • #14
                            Re : Comment modifié le contenu d'un appel echo implode($)

                            Il était déjà effectuer avant, je te glisse un script pour y voir plus clair :
                            je comprend pas tu veut dire que le dunp $categorieAction et différents de dump implode $categorieAction ?


                            Code HTML:
                            <?php
                            						$iconref = array('create'=>'ref1', 'markread'=>'ref2', 'subscribe'=>'ref3'); 
                            						$out=''; 
                            						foreach ($categoryActions as $action) { 
                            							 $out .= '<i class="'.$iconref[$action->name].'" aria-hidden="true">
                            </i>'.$action->name;   
                            						}  
                            						//echo $out; 
                            							/* 
                            							-> retourne 
                            							
                            							<i class="ref1" aria-hidden="true"></i>
                            							create
                            							<i class="ref2" aria-hidden="true"></i>
                            							markread
                            							<i class="ref3" aria-hidden="true"></i>
                            							subscribe 
                            							*/ 
                            						//dump (implode($out)); -> retourne = nul
                            					 ?>
                            				 
                            					<?php dump (implode($categoryActions)); ?>
                            					
                            					<ul class="pull-right">
                            						<li>
                            							<?php 
                            							
                            								echo implode($categoryActions); 
                            								/*
                            								-> Retourne
                            								<a class="btn-success jf_ku_btn" href="/index.php/forum/presentation-des-membres/topic/create" rel="nofollow" title="Créer un nouveau sujet." name="create"> Nouveau sujet</a>
                            								<a class="jf_ku_btn" href="/index.php/forum/presentation-des-membres/task-markread?e0d3e9c0f0d8c29bb6894faa93c2db30=1" rel="nofollow" title="Marquer tous les sujets dans cette catégorie comme lus." name="markread"> Marquer comme lu</a>
                            								<a class="jf_ku_btn" href="/index.php/forum/presentation-des-membres/task-subscribe?e0d3e9c0f0d8c29bb6894faa93c2db30=1" rel="nofollow" title="Abonnez-vous à cette catégorie." name="subscribe"> S'abonner</a>
                            								*/
                            							?>
                            						</li>
                            					</ul>
                            					
                            					<?php dump (implode($categoryActions)); ?>
                            En images les : dump (implode($categoryActions)); avant et après

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

Nom : JDump-3.JPG 
Affichages : 1 
Taille : 32,2 Ko 
ID : 1806319
                            Autodidacte en programmation pour le plaisir.

                            Commentaire


                            • #15
                              Re : Comment modifié le contenu d'un appel echo implode($)

                              je comprend pas tu veut dire que le dunp $categorieAction et différents de dump implode $categorieAction ?
                              Je ne comprends toujours pas !
                              Un implode est la concaténation du contenu d'un tableau. Il doit donc avoir les mêmes données

                              Une astuce avec JDump, je met dump(implode($categoryActions),'implode($categoryA ctions)');
                              comme cela je sais à quoi le dump se référe
                              UP, le plugin universel à découvrir sur https//up.lomart.fr
                              bgMax
                              , AdminOrder, MetaData, Zoom, ArtPlug, Custom, Memo, Filter, ... sur http://lomart.fr/extensions

                              Commentaire

                              Annonce

                              Réduire
                              Aucune annonce pour le moment.

                              Partenaire de l'association

                              Réduire

                              Hébergeur Web PlanetHoster
                              Travaille ...
                              X