[CakePHP 3] Afficher mon sitemap

Par ciramor, il y a 10 ans


Bonjour à tous,

J'ai créé un sitemap de mon site web et j'aimerais l'afficher à l'écran.
Cependant, je ne sais pas comment le manipuler. J'ai essayé comme ceci

use Cake\Utility\Xml; class SitemapController extends AppController { public function beforeFilter(Event $event) { parent::beforeFilter($event); $this->Auth->allow(['index']); } public function index(){ $this->autoRender = false; header('Content-Type: application/xml'); $xml = Xml::build('/path/to/sitemap.xml');

Que faut-il faire avec cette ressource ? Je n'arrive même pas à l'utiliser dans un var_dump (erreur renvoyée : xml cannot be read)

J'imagine que ça ne doit pas être très sorcier, mais je ne trouve que des docs concernant de vieilles versions.

Merci pour votre aide,

Cdlt,

DR

1 réponse

Lartak, il y a 10 ans

Bonjour.
Pour commencer :

Avant que vous ne puissiez utiliser les classes de vue de données, vous devrez charger Cake\Controller\Component\RequestHandlerComponent dans votre controller:

public function initialize() { ... $this->loadComponent('RequestHandler'); }

Tu peux donc déjà enlever ton header('Content-Type: application/xml');
Ensuite, il te faut préciser dans ton routing au moins, que le lien menant à cette action aura l'extension xml.
Pour terminer, il faut que tu envoi la variable pour la vue et que tu définisses un chemin correct pour ton fichier, autre que /path/to/sitemap.xml.