Vues dans un composant

Réduire
Ce sujet est fermé.
X
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [RÉGLÉ] Vues dans un composant

    Bonjour,

    Il m'arrive de développer quelques composants "perso" depuis maintenant 2 ans. Il y a un truc sur lequel je cale à chaque fois c'est sur les vues d'un composant. Je m'explique:
    Je dois développer un système qui permet d'afficher un formulaire de réservation pour des chambres d'hôtel. Le résultat du formulaire doit "poster" sur une page du site qui contient une iframe (le contenu de l'iframe vient du site central qui gère les réservations pour l'ensemble des hôtels), je passe les paramètres dans l'url de l'iframe.
    J'ai donc créé un module qui affiche le formulaire, là, pas de problème.
    J'ai créé un composant avec une vue qui contient l'iframe et qui "attend" les paramètres envoyés par le formulaire contenu dans le module. Là aussi, c'est ok.
    Mon problème est le suivant : étant donné que ma page contenant l'iframe ne doit pas être visible via un menu du site (il faut obligatoirement passer par le module pour qu'elle s'affiche), j'ai dû créer un "menu caché" et créer un élément de menu vers cette vue.
    Dans mon formulaire contenu dans le module j'ai donc ceci comme paramètre "action" : index.php?option=com_onlinebooking&view=liste
    Ca fonctionne mais je me retrouve avec une page qui contient des éléments (modules promo, météo, etc...) que je ne voudrais pas afficher. Comme puis-je gérer cela?
    J'ai vu certaines choses qui parlaient de passer un paramètre &Itemid=XXX dans le paramètre action du formulaire mais ça me parait un peu système D...
    Avez-vous une idée à me proposer?


    Merci!
    Hervé

  • #2
    Re : Vues dans un composant

    Bonjour

    Si je simplifie ta question : tu as une entrée de menu qui affiche une vue et aussi des modules que tu ne souhaites pas.

    S'ils sont affichés, c'est parce que très probablement les modules sont programmés pour s'afficher toujours. Il faudrait donc éditer les modules, un par un, et changer leur affectation pour s'afficher partout sauf sur ton entrée de menu.

    Est-ce que cela réponds à ta question ?

    Tu as p.ex. advanced module manager (http://www.nonumber.nl/extensions/advancedmodulemanager) qui permet de gérer, assez facilement, ce type de paramétrage.

    Bonne journée.
    Christophe (cavo789)
    Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
    Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

    Commentaire


    • #3
      Re : Vues dans un composant

      Bonjour Christophe,
      Merci pour ta réponse. Ha ok, donc il n'y a pas de moyen plus simple.
      Est-ce nécessaire cette astuce du menu caché? Est-ce qu'il n'y a pas plus "propre"?
      Car le site est en Joomla 3 et en 3 langues (FR, NL, EN). Je suppose que je vais devoir créer 3 menus cachés... Je vais regarder.

      Merci pour l'info de "advanced module manager", je ne connaissais pas!

      Hervé

      Commentaire


      • #4
        Re : Vues dans un composant

        Je n'ai pas suivi ta logique... J'ai à peu près compris que ta base de données de destination n'est pas locale et c'est pourquoi tu passes par l'artifice de l'IFRAME et des paramètres. Donc, tu affiches une page qui contient cet iframe.

        L'affichage d'une vue dans Joomla se fait de deux manières : seulement la page et zéro fioriture ou la page dans le contexte de Joomla.

        Tu peux toujours essayer d'ajouter &tmpl=component à l'url de ta vue pour voir si cet affichage-là te convient mais j'en doute.
        Christophe (cavo789)
        Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
        Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

        Commentaire


        • #5
          Re : Vues dans un composant

          Tu as bien compris :-)
          Oui donc je dois me faire à l'idée de désactiver les modules... Et puis d'un autre côté, c'est tout à fait logique.


          Merci.

          Commentaire


          • #6
            Re : Vues dans un composant

            Envoyé par HerB Voir le message
            Et puis d'un autre côté, c'est tout à fait logique.
            Absolument : une vue s'affiche dans la zone "content" de ton template et donc, forcément, Joomla fait ce qu'il fait très bien; il habille le reste de la page en fonction du template et des modules présents.
            Christophe (cavo789)
            Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
            Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

            Commentaire


            • #7
              Re : Vues dans un composant

              Tiens, je pense à un truc : est-ce que ton lien "IFRAME" est protégé ? Si je récupère ton url, il y a risque réel d'être spammé. Tu as prévu une protection pour ça ?
              Christophe (cavo789)
              Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
              Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

              Commentaire


              • #8
                Re : Vues dans un composant

                Heu... C'est à dire?
                Je devrais protéger quoi?

                Commentaire


                • #9
                  Re : Vues dans un composant

                  J'ai dû mal comprendre quelque chose : il m'avait semblé que ton URL était de type POST et que tu envoyais un record vers une page tierce qui, ensuite, affiche du code HTML qui est affiché par ta vue.

                  Mais, à te relire, non, ton IFRAME ne fait que de l'affichage. Aucun risque de spam donc.
                  Dernière édition par cavo789 à 01/08/2013, 13h51
                  Christophe (cavo789)
                  Mon blog, on y parle Docker, PHP, WSL, Markdown et plein d'autres choses : https://www.avonture.be
                  Logiciel gratuit de scan antivirus : https://github.com/cavo789/aesecure_quickscan (plus de 45.000 virus détectés, 700.000 fichiers sur liste blanche)​

                  Commentaire


                  • #10
                    Re : Vues dans un composant

                    Effectivement, uniquement de l'affichage.
                    Mais merci de t'être soucié de ça, ça aurait pu effectivement poser problème si je passais des paramètres pour les enregistrer ensuite dans une DB.

                    Commentaire

                    Annonce

                    Réduire
                    Aucune annonce pour le moment.

                    Partenaire de l'association

                    Réduire

                    Hébergeur Web PlanetHoster
                    Travaille ...
                    X