2012-12-04 117 views

回答

0

你可以做这样的事情只需更换RSS与你卷曲打电话

$url = 'http://www.site.com'; 
$cache = Mage::getSingleton('core/cache'); 
$key = md5($url); 

if(! $rss = $cache->load($key)){ 
    $objDOM = new DOMDocument(); 
    $objDOM->load($url); 
    $rssXml = $objDOM->getElementsByTagName("item"); 

    $rss = array(); 
    foreach($rssXml as $value){ 
     $data['title'] = $value->getElementsByTagName("title")->item(0)->nodeValue; 
     $data['description'] = $value->getElementsByTagName("description")->item(0)->nodeValue; 

     $rss[] = $data; 
    } 

    $cache->save(urlencode(serialize($rss)), $key, array("homepage_cache"), 60*60); 
} 
else{ 
    $rss = unserialize(urldecode($rss)); 
} 

print_r($rss); 

更多@http://www.nicksays.co.uk/2010/07/developers-guide-magento-cache/

+0

它可以完美运行。非常感谢你。你能解释一下你使用这个参数的方法:array(“homepage_cache”),60 * 60。可能是60 * 60是以秒为单位的时间,之后缓存将刷新,但对于homepage_cache,我不确定? –

+0

它用于'分组'缓存,以便通过执行$ cache-> flush('...')(mass removal)来删除属于'homepage_cache'的所有缓存... 60 * 60是时间在第二..看看上面的链接 –

+0

你让我的一天。谢谢 :) –