Affichage introuvable quand j'utilise no_html=1 pour afficher une vue

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

  • [RÉGLÉ] Affichage introuvable quand j'utilise no_html=1 pour afficher une vue

    Salut le forum,

    Je développe un composant pour un client et j'ai un souci. J'essaie d'écrire une vue qui génère un flux RSS.

    J'ai développé la vue sans souci, la sortie est correcte (un XML de flux RSS bien standard) mais il faut maintenant que je l'affiche sans HTML autour, évidemment. J'utilise comme URL pour afficher "/index.php?rss&tmpl=component" et ça sort bien le composant seul, sans menus ni modules. Par contre la sortie est toujours entourée d'une page HTML standard avec des balises <html>, <head>, etc. Il faut que j'arrive à enlever ça pour que mon XML soit ok. J'essaie alors d'utiliser cette URL : "/index.php?rss&tmpl=component&no_html=1" mais quand je fais ça, j'ai une erreur 500 "Affichage introuvable". Je ne comprends pas.

    Le composant s'appelle com_reco.
    La vue s'appelle RecoViewHomepage.
    Dans le view.html.php, je change le layout par défaut ("default.php") avec ces lignes de code :

    Code:
    		if(isset($_REQUEST["rss"])) $tpl="rss"; 
    		parent::display($tpl);
    Sans le no_html dans l'URL, ça fonctionne et le layout "default_rss.php" est bien chargé depuis le répertoire tmpl.
    Avec le no_html ajouté, j'ai une erreur 500 "Affichage introuvable".

    Quelqu'un peut-il m'aider?
    Merci d'avance !

  • #2
    Re : Affichage introuvable quand j'utilise no_html=1 pour afficher une vue

    Bonjour,

    Le mieux est de créer un fichier view.xml.php voir le lien suivant pour plus d'infos : http://docs.joomla.org/Handling_the_..._Ajax_requests

    De mémoire, je crois qu'il faut ajouter format=xml dans le lien pour qu'il aille chercher la bonne vue.

    Damien

    Damien
    www.Crac-Design.com

    Commentaire


    • #3
      Re : Affichage introuvable quand j'utilise no_html=1 pour afficher une vue

      Bonjour

      +1 avec ZDamienZ; tu dois juste mettre &format=xml ou &format=raw et développer le view.xxx.php correspondant.

      Sauf erreur de ma part, &no_html=1 est un reliquat de Joomla 1.0. Il serait grand temps d'oublier cette antiquité :-)
      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


      • #4
        Re : Affichage introuvable quand j'utilise no_html=1 pour afficher une vue

        ok donc effectivement, no_html=1 est une relique, à ne plus utiliser (désoléééééééé! ;-))

        Et donc ça fonctionne mais attention, c'est subtil, malgré tout.
        - dans la requète : format=xml (pour faciliter la déclaration du MIME type, plus sûr que format=raw)
        - la vue appelée est bien view.xml.php du coup, mais attention, sans autre intervention elle appelle le layout par défaut
        - donc bien ajouter la même ligne ( if(isset($_REQUEST["rss"])) $tpl="rss"; ) dans le view si on veut charger un autre layout

        Et maintenant ça maaaaaaaarche!
        Merci le forum :-)

        Commentaire


        • #5
          Re : Affichage introuvable quand j'utilise no_html=1 pour afficher une vue

          Envoyé par guzabi Voir le message
          $_REQUEST["rss"]
          Aaargh... Encore une vieille bestiole

          JRequest::getCmd('rss') est bien meilleur.

          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


          • #6
            Re : Affichage introuvable quand j'utilise no_html=1 pour afficher une vue

            Ouiiiii je sais, j'ai fait ça vite :-)
            Allez, je le fais bien, maintenant :-)

            Commentaire


            • #7
              Re : Affichage introuvable quand j'utilise no_html=1 pour afficher une vue

              Envoyé par guzabi Voir le message
              Ouiiiii je sais, j'ai fait ça vite :-)
              Et que je ne te reprenne plus, hein, à programmer "à la Joomla 1.0" car sinon cela va chauffer pour ton matricule



              (pour ceux qui lirait ce post : il faut absolument éviter $_REQUEST qui n'est pas sécurisé. Joomla met à disposition JRequest:: qui permet d'obtenir la même information mais de manière sécurisée et ça, c'est bien meilleur pour la protextion de votre site)
              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

              Annonce

              Réduire
              Aucune annonce pour le moment.

              Partenaire de l'association

              Réduire

              Hébergeur Web PlanetHoster
              Travaille ...
              X