Bonjour,
J'aimerai partager avec vous un problème que je n'arrive pas à identifier.

J'essais de générer un sitemap au format xml, à partir d'un Zend_Navigation.

Mon controller:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<?php
 
class IndexController extends Zend_Controller_Action
{
 
    public function init()
    {
 
        $contextSwitch = $this->_helper->getHelper('contextSwitch');
        $contextSwitch->addActionContext('sitemap', 'xml')
                      ->initContext();
 
    }
 
    public function indexAction(){ 
 
        //blablabla....
 
    }
 
    public function sitemapAction(){ }
 
}
dans ma vue ( sitemap.xml.phtml) j'ai

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
<?php 
echo $this->navigation()->sitemap();
?>
Le résultat via cette url est nikel:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 http://www.monsite.fr/index/sitemap?format=xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://www.monsite.fr/</loc></url>
<url><loc>www.monsite.fr/test</loc></url>
<url><loc>www.monsite.fr/coucou</loc></url></urlset>
Par contre, si je met en place une route, là c'est le drame.
Exemple:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 $router->addRoute('sitemap',
               new Zend_Controller_Router_Route('sitemap.xml',
                    array('controller' => 'index', 
                          'action' => 'sitemap',
                          'format' => 'xml')));
Le résultat via cette url est incorrect:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
 http://www.monsite.fr/sitemap.xml
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url><loc>http://www.monsite.fr/</loc></url>
<url><loc>www.monsite.fr/sitemap.xml</loc></url>
<url><loc>www.monsite.fr/sitemap.xml</loc></url></urlset>
Quelqu'un a une idée?

Merci par avance.