간단한 RSS 피드를 성공적으로 만들었지 만, 항목이 읽지 않고 업데이트 된 상태로 되돌아오고 메일을 업데이트하도록 요청할 때마다 클라이언트에서 삭제 된 항목이 다시 나타납니다.젠드 피드를 올바르게 작성하려면 어떻게해야합니까?
내가 뭘 잘못하고 있니?
이public static function getFeed($db)
{
$title = 'Latest feeds';
$feedUri = '/rss/';
//link from which feed is available
$link = 'http://' . $_SERVER['HTTP_HOST'] . $feedUri;
//create array according to structure defined in Zend_Feed documentation
$feedArr = array('title' => $title,
'link' => $link,
'description' => $title,
'language' => 'en-us',
'charset' => 'utf-8',
//'published' => 1237281011,
'generator' => 'Zend Framework Zend_Feed',
'entries' => array()
);
$itemObjs = array();
$select = $db->select('id')->from('things')
->order('createddate desc')
->limit(10);
$results = $db->fetchAll($select->__toString());
$count = count($results);
for($i=0;$i<$count;$i++) {
$itemObjs[] = SiteUtil::getItemObjectInstance($db, $results[$i]['id']);
}
$count = count($itemObjs);
for($i=0;$i<$count;$i++) {
$obj = & $itemObjs[$i];
$feedArr['entries'][] = array('title' => $obj->getSummary(),
'link' => 'http://' . $_SERVER['HTTP_HOST'] . $obj->getDetailUri(),
'description' => $obj->description,
'publishdate' => $obj->publishedDate,
'guid' => 'http://' . $_SERVER['HTTP_HOST'] . $obj->getDetailUri()
);
}
$feed = Zend_Feed::importArray($feedArr, 'rss');
return $feed;
}
컨트롤러 클래스의 동작은 다음과 같습니다 :
public function rssAction()
{
$feed = FeedUtil::getFeed($this->db);
$feed->send();
}
그래서, 내가 할 수있는 클라이언트를 가리키는 피드에 액세스 할 수 :
나는 RSS 피드를 만들려면이 간단한 기능을 사용 http://mysite.com/rss나는 mac 메일의 rss 클라이언트를 사용하여 테스트하고 있습니다. 피드가 제대로 다운로드되어 테스트 목적으로 데이터베이스에있는 5 가지 항목을 모두 보여줍니다. 문제는 다음과 같습니다.
1) 하나 이상의 항목을 '읽음'으로 표시 한 다음 메일에 피드를 업데이트하도록 지시하면 처음부터 다운로드 한 적이없는 것처럼 모든 항목을 다시 가져옵니다.
2) 내가 하나 이상의 항목을 삭제하면 다시 피드에 가입 한 것처럼 읽지 않은 상태로 다시 나타납니다.
3) 피드는 이고 항상 업데이트로 표시된입니다. 그게 사실인가요?
내가 설정 한 매개 변수와 관련이 있습니까, 뭔가를 생략하고 있거나 솔루션이 HTTP 콘텐츠 헤더 (예 : '304 Not Modified')를 설정하는 것처럼 더 미묘 할 수 있습니까?
rss를 이해하면 항목이 클라이언트에서 읽은 것으로 표시되거나 삭제 된 후에는 절대로 다시 나타나지 않아야합니다. 이는 내가 수행 한 동작입니다.
'link'및 'guid'매개 변수는 항상 고유하며 'published'및 'publishdate'(둘 다 선택 사항) 속성은 동일한 결과 만 얻습니다. 위의 코드는 내가 가지고있는 것의 단순화 된 버전이며 관련 비트 만 표시하고 마지막으로 예, rss specification을 읽었습니다.
여기에 제공된 도움에 대해 미리 감사 드리며 언제든지 알려 드리겠습니다.
감사합니다 allterrnativ, 나는 이걸주고있다. – karim79
실제로 그것은 매력처럼 작동했습니다. 그게 얼마나 위선적 인 것일까 요? 다시 한 번 감사드립니다! – karim79