2012-05-24 77 views
0

我在Zend Framework和RSS中也很新。我想在我的網站上創建RSS源(當然可以在XML文件中提供給用戶)。我創建了RssController和相應的視圖:rss/index.phtml。 XML文件生成適合我。如何在Zend中使用autoupdate創建rss feed

RssControllers我有indexAction

public function indexAction() 
{  
    $feedData = array(...); 

    $feed = Zend_Feed::importArray ($feedData, 'rss'); 
    $rssFeed = $feed->saveXML(); 

    $fh = fopen("rss.xml", "w"); 
    fwrite($fh, $rssFeed); 
    fclose($fh); 
} 

正如您可以猜到,我rss.xml文件生成每次訪問的mysite/RSS時的時間。如果可能的話,我希望在某個時間間隔內創建RSS feed autoupdating。當然,每次訪問rss子網站時都不會生成。我該如何做這樣的事情?

回答

0

坎IAM不知道你想要什麼,但:

你不需要的文件處理..

// Disable VIEW/Layout 
$this->_helper->layout->disableLayout(); 
$this->_helper->viewRenderer->setNoRender(true); 

$feed = Zend_Feed::importArray ($feedData, 'rss'); 
echo $feed->send(); 

因此,瀏覽器變得「XML」,而不是一個HTML或什麼都..

+0

早些時候,我已經完成了類似於您的代碼的工作。我不知道哪個解決方案是正確的。現在我想從我的網站創建幾個不同內容的XML文件。我想在我的'RssController'中生成xml文件。如果我的rss每次發佈文章的時候都會發送新的文章給rss讀者,我很擔心這一點。或者只有當rss子網站將被訪問?也許我不明白rss是如何工作的... – woyaru

+0

ehm RSS不是PUSH它是PULL,客戶正在請求Feed。 – opHASnoNAME

0

你有三種方式來更新你的RSS:

1 - 與異步系統工作

2 - 將控制器的URL插入CRON系統(crontab linux或任務計劃程序窗口),並在需要時提出請求。

3 - 創建一個Zend_Action_Helper,當頁面被訪問時,你調用這個Action。