comment générer un bouton dans la barre d'outils

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

  • comment générer un bouton dans la barre d'outils

    Bonjour la communauté,
    question de base mais à force de tourner en rond, je n'y capte plus rien. Comment est-il possible de générer un bouton à coté des boutons Paramètre et Aide en haut à droite de mon composant en administrator?
    Je ne trouve pas le fichier qui génère la chose.

    Merci d'avance.


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

Nom : Capture d’écran 2022-09-22 à 18.22.14.png 
Affichages : 102 
Taille : 15,5 Ko 
ID : 2043404

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

Nom : Capture d’écran 2022-09-22 à 18.22.25.png 
Affichages : 75 
Taille : 23,0 Ko 
ID : 2043405

  • #2
    Bonjour,

    La gestion des boutons de l'administration d'un composant est faite dans le fichier src/View/<ta page>/HtlmView.php.

    Par exemple, pour un de mes composants, j'ai src/View/Config/HtmlView.php.

    Dans ce fichier, tu as des appels à ToolbarHelper qui positionnent tous les boutons à la queue leu leu, jusqu'au ToolbarHelper references(...) ou ToolbarHelper inlinehelp() qui commencent à mettre les boutons à droite.

    Donc, pour avoir ton nouveau bouton à droite, il suffit de le mettre après le bouton ToolbarHelper references ou ToolbarHelper inlinehelp.

    Je n'ai pas trouvé d'autre méthode pour l'instant.

    Pascal
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      ok, merci, ça marche avec
      ToolbarHelper::help('', false, 'https://monurl.com');
      par exemple

      Comment peut-on changer le texte "Aide" ?

      Le helpButton.php stipule

      protected function prepareOptions(array &$options)
      {
      $options['text'] = $options['text'] ?: 'JTOOLBAR_HELP';
      $options['icon'] = $options['icon'] ?? 'icon-question';
      $options['button_class'] = $options['button_class'] ?? 'btn btn-info';
      $options['onclick'] = $options['onclick'] ?? $this->_getCommand();

      parent::
      repareOptions($options);
      }

      Donc, si je lis correctement, il est bien possible de lui affecter une option text, icon, etc., l'url entre autre en est bien une... Si je renseigne
      ToolbarHelper::help('mon texte', false, 'https://monurl.com'); par exemple, il ne fait rien, j'imagine que je n'appelle pas le bon parametre.

      Mais alors, comment lui faire comprendre son option texte?

      Merci.

      Commentaire


      • #4
        Bonjour,

        Il faut passer par toolbarhelper::custom : https://api.joomla.org/cms-4/classes...barHelper.html

        Les autres valeurs ont des comportements/textes prédéfinis.

        Dans un de mes composants, j'ai ajouter un bouton Export :
        Code PHP:
        ToolbarHelper::custom('pages.export''download'''Text::_('COM_CGISOTOPE_EXPORT'), true); 
        Pascal
        Dernière édition par pmleconte à 23/09/2022, 10h19
        If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

        Commentaire


        • #5
          ouaip, j'avais bien vu ça aussi mais pour le coup, on rentre dans le domaine du "jesaispasfairemaisjeveuxbienapprendre". ce qui m'arrangeait avec le bouton help est qu'il faisait exactement ce dont j'avais besoin: ouvrir une pop up avec une url et voila.
          il faudrait donc que je déclare

          Code PHP:
          ToolbarHelper::custom('pages.popup''download'''Text::_('COM_POPUP'), true); 
          ou COM_POPUP est le texte à afficher
          et pages.popup est le task à effectuer.

          Mais alors, comment "programmer" le task ?

          le lien https://docs.joomla.org/Creating_a_t...r_component/fr

          super interressant mais si l'un d'entre vous a un bout de code à partager, je suis preneur.
          Dernière édition par fabvincent à 24/09/2022, 08h55

          Commentaire


          • #6
            ok tentative #1 :

            Je colle
            ToolbarHelper::custom('FoosController.mepopup', 'download', '', Text::_('COM_POPUP'), false);

            dans mon view html, le bouton s'affiche correctement

            J'ai mon fichier FoosController.php qui dispose d'une

            class FoosController extends AdminController
            {

            #dans lequel je viens ajouter pour test

            public function mepopup()
            {
            $message = "hello world";
            $this->setRedirect('index.php?option=com_foos&view=foo s' , $message);
            }

            }

            et là, error 0

            Bon, la ja me doute bien que cela ne vient pas du systeme, que dois-je changer?

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

Nom : Capture d’écran 2022-09-24 à 10.48.50.png 
Affichages : 60 
Taille : 153,6 Ko 
ID : 2043459
            Fichiers joints

            Commentaire

            Annonce

            Réduire
            Aucune annonce pour le moment.

            Partenaire de l'association

            Réduire

            Hébergeur Web PlanetHoster
            Travaille ...
            X