Automatizované sitemap v CakePHP

hlasů
2

Já sleduji tento výukový program pro vytváření automatizovaných sitemaps v CakePHP. Vše je jednoduché, ale nejsem schopen výstupu XML. Regulátor vypadá

function sitemap ()
{
    Configure::write ('debug', 0);
    $cats = $this->Category->find('all', array('fields' => array('nicename', 'modified')), null, -1);
    $posts = $this->Post->find('all', array('fields' => array('name', 'modified')), null, -1);
    $this->set(compact('cats','posts'));
    $this->RequestHandler->respondAs('xml');
    $this->viewPath .= '/xml';
    $this->layoutPath = 'xml';
}

takže se používá rozložení app / views / layouty / XML / default.ctp

Problém je, že nemám ponětí, co dát do souboru s rozložením a ve výukovém nic nenasvědčuje. Když jsem dal

<?php
    echo '<?xml version=1.0 encoding=UTF-8?>'. \n;
    echo $content_for_layout;
?>

I získat soubor ve správném formátu, ale jako text. Když jsem dal

<?xml version=1.0 encoding=UTF-8?>
<?php echo $content_for_layout; ?>

I získat soubor XML (je zobrazena odlišně ve Firefoxu), ale zcela prázdné, takže XML parser stěžuje. Jaká je ta správná cesta?

Položena 11/02/2010 v 18:42
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
3

Jen jsem narazil na vaši otázku a bylo smutné vidět ho bez odpovědi. Takže pojďme to zkusit.

V ovladači jste již $this->RequestHandler->respondAs('xml');tak podle tohoto komentář , by mělo stačit spousta. Zkusili jste vynechal rozložení prázdný?

Také byste měli mít var $components = array('RequestHandler');na nějakém místě buď v souboru Sitemap regulátoru, nebo váš app_controller.

Odpovězeno 29/09/2010 v 18:42
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more