Désactiver le menu dans un compo

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

  • Désactiver le menu dans un compo

    Bonjour,

    Tout jeune dans le développement Joomla!, je me permet de venir vous embêter pour trouver une solution à mon problème. Pour un composant, j'ai besoin de désactiver le menu principal du backoffice.

    Quand on crée un article, on remarque que tout le menu est grisé pour éviter à l'utilisateur de quitter la page sans sauvegarder ou annuler. Je souhaite reproduire ce phénomène dans mon composant. Cela est-il possible ?
    J'ai tenté de trouver la fonction mais sans succès...

    Je vous remercie pour toute l'aide que vous pourrez m'apporter.
    Dernière édition par kurolounet à 16/09/2014, 10h47

  • #2
    Re : Désactiver le menu dans un compo

    Bonjour,

    Dans les articles, regardert le code de la vue modal.php, qui indique la démarche:
    administrator/components/com_content/views/article/tmpl/modal.php, en particulier le format URL
    Code PHP:
    <form action="<?php echo JRoute::_('index.php?option=com_content&layout=modal&tmpl=component&id='.(int) $this->item->id); ?>" method="post" name="adminForm" id="item-form" class="form-validate">
    c'est le &layout=modal qui est le "truc"
    Pas de demande de support par MP.
    S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

    Commentaire


    • #3
      Re : Désactiver le menu dans un compo

      D'accord, merci beaucoup pour cette réponse. Je vais tester ça tout de suite.

      Edit : je viens de regarder mais je ne pense pas que cela corresponde à mes besoins.
      L'url est utilisé dans la balise <form> et donc cela sera disponible que dans la création/modification d'un enregistrement, alors que moi, j'aurais besoin de ça sur l'ensemble d'un composant (liste des enregistrements, création/modif... toutes les vues en somme).

      Ou bien je n'ai pas compris l'utilisation de cette url
      En tout cas, merci Jisse pour t'intéresser à mon problème.
      Dernière édition par kurolounet à 16/09/2014, 10h50

      Commentaire


      • #4
        Re : Désactiver le menu dans un compo

        Tu peux dans ce cas créer toutes tes vues sous forme modale, au lieu d'une seule... Le principe reste identique.
        Pas de demande de support par MP.
        S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

        Commentaire


        • #5
          Re : Désactiver le menu dans un compo

          Je comprend le principe. Ce que je n'arrive à comprendre c'est quelle ligne définit une vue comme "modal"...
          Si je compare modal.php et edit.php de com_content, ils sont assez similaires. Serait-ce plutôt dans le controller ?

          Le fait d'avoir :
          Code PHP:
          <form action="<?php echo JRoute::_('index.php?option=com_content&layout=modal&tmpl=component&id='.(int) $this->item->id); ?>" method="post" name="adminForm" id="item-form" class="form-validate">
          dans une vue permet de désactiver le menu ? C'est vraiment bizarre. Ou alors il y encore quelque chose qui m'échappe.

          Commentaire


          • #6
            Re : Désactiver le menu dans un compo

            C'est le layout (donc dans ce cas la vue). /libraries/cms/layout/ te donne les éléments te permettant (méthode render entre autres) le comportement de tes vues.

            Dans l'exemple de com_content, l'url indique le layout &layout=modal (là, le modal est évident et le code de la vue également), mais quel que soit le nom de la vue, tu peux définir un rendering modal.
            Pas de demande de support par MP.
            S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

            Commentaire


            • #7
              Re : Désactiver le menu dans un compo

              Oui mais cette URL est juste la destination du formulaire (balise Form) présent sur la page de création/modification de l'article. Comment l'url dans un form peut définir l'apparence de la page en cours ?
              Tu parles de définir un rendering modal, mais comment faire cela ? Rajouter un &layout=modal dans l'URL, ce n'est pas suffisant.

              Je suis désolé mais je ne comprends pas vraiment (j'y mets de la bonne volonté, je t'assure).
              N'aurais-tu pas plutôt une démarche pour avoir le rendu que je souhaite ? Il n'y a pas une fonction toute faite ?

              Commentaire


              • #8
                Re : Désactiver le menu dans un compo

                Si tu veux un comportement plus global, dans chaque vue, tu ajoutes un JHtmlbehavior:modal au début de ta vue., par exemple, en te basant sur /libraries/cms/html/behavior.php
                Pas de demande de support par MP.
                S'il n'y a pas de solution, c'est qu'il n'y a pas de problème (Devise Shadok)

                Commentaire


                • #9
                  Re : Désactiver le menu dans un compo

                  J'ai testé en ajoutant JHtml::_('behavior.modal'); en entête de mon fichier default.php (vue de mon composant) mais cela ne fonctionne pas. Il n'y a que cela à rajouter ?

                  Commentaire

                  Annonce

                  Réduire
                  Aucune annonce pour le moment.

                  Partenaire de l'association

                  Réduire

                  Hébergeur Web PlanetHoster
                  Travaille ...
                  X