CakePHP Otomatik site haritası

1 Cevap php

CakePHP otomatik site haritası oluşturmak için this tutorial takip ediyorum. Her şey kolay, ama çıkış XML mümkün değilim. Kontrolörü gibi görünüyor

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';
}

bu yüzden düzeni app / views / planlar / xml / default.ctp kullanır

Sorun ne düzeni dosyaya koymak için hiçbir ipucu var ve öğretici bir gösterge olmasıdır. Ben koyarsanız

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

Ben doğru biçimde bir dosya elde, ama metin olarak. Ben koyarsanız

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

Ben bir XML dosyası (bu farklı Firefox görüntülenir) ama tamamen boş elde, yani XML ayrıştırıcı yakınıyor. Doğru yolu nedir?

1 Cevap

Ben sadece soru tökezledi ve cevapsız görmek üzücüydü. Yani bunu bir deneyelim.

Sizin denetleyicisi zaten $this->RequestHandler->respondAs('xml'); bu yüzden göre this comment, yeterince bol olmalıdır. Eğer düzen boş bırakarak denedin mi?

Ayrıca, sizin sitemap denetleyicisi veya app_controller ya bir noktada var $components = array('RequestHandler'); olmalıdır.