RssControl Nette2.0-beta PHP 5.3
Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
- kralik
- Člen | 230
Ahoj lidičky,
prosím mohl by někdo osvítit tvorbu Rss kanálu na nové verzi Nette FW
2.0 beta a PHP 5.3?
Zkouším to teď rozjet, ale pořád se mi nedaří
Ideálně upravit a rozšířit stávající popis v doplňcích
Mooc díky
- frosty22
- Člen | 373
Zdravím,
zrovna teď jsem to programoval, akorát tedy jsem nepoužil ten doplněk,
v podstatě na tom nic není, takže pokud by ti stačilo bez
komponenty tak:
ATOM.latte
{contentType application/xml; charset=utf-8}
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>Titulek stránky</title>
<updated>{?echo date("c", strtotime($updated))}</updated>
<id>{plink //:Front:Sitemap:atom}</id>
<rights>Copyright (c) {? echo date("Y")}, WebSite, a.s.</rights>
<link rel="self" type="application/atom+xml" href="{plink //:Front:Sitemap:atom}"></link>
<icon>{plink //:Front:Homepage:}favicon.ico</icon>
<author>
<name>WebSite, a.s.</name>
<uri>{plink //:Front:Homepage:}</uri>
<email>info@website.cz</email>
</author>
{foreach $links as $link}
<entry>
<id>{plink //:Front:Page:detail, link_id => $link["link_id"]}</id>
<link href="{plink //:Front:Page:detail, link_id => $link["link_id"]}"></link>
<published>{?echo date("c", strtotime($link["inserted"]))}</published>
<updated>{?echo date("c", strtotime($link["updated"]))}</updated>
<title>{$link["name"]}</title>
<summary>{$link["description"]}</summary>
</entry>
{/foreach}
</feed>
RSS.latte
{contentType application/xml; charset=utf-8}
<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>Titulek stránek</title>
<link>{plink //:Front:Homepage:}</link>
<description>Popis stránek</description>
<copyright>Copyright (c) {? echo date("Y")}, WebSite, a.s.</copyright>
<pubDate>{?echo date("r", strtotime($updated))}</pubDate>
<docs>{plink //:Front:Sitemap:rss}</docs>
{foreach $links as $link}
<item>
<guid>{plink //:Front:Page:detail, link_id => $link["link_id"]}</guid>
<title>{$link["name"]}</title>
<link>{plink //:Front:Advert:detail, link_id => $link["link_id"]}</link>
<description>{$link["description"]}</description>
<pubDate>{?echo date("r", strtotime($link["updated"]))}</pubDate>
</item>
{/foreach}
</channel>
</rss>
A v presentru jen něco jako:
<?php
public function renderChannel()
{
// datum poslední modifikace
$this->template->updated = $this->context->page->getLastModified();
// seznam linků
$this->template->links = $this->db->query(...);
}
?>
Editoval frosty22 (19. 8. 2011 13:30)
- Patrik Votoček
- Člen | 2221
však ti ta chyba přesně říká kde je problém… Pro jistotu ještě
její překlad: Nemohu číst nedefinovanou vlastnost
v Nette\Context::$page
Tj. v kontextu neexistuje žádné $page