EN | CS | Přihlásit | Registrovat

RssControl

Komponenta pro usnadnění tvorby RSS kanálu.

Verze 0.1
Download rsscontrol.zip
Autor Jan Marek
Licence MIT

Instalace

Zkopírujte obsah složky Rss do své aplikace.

Příklad použití

Presenter:

class RssPresenter extends BasePresenter
{

public function renderDefault() {
/* @var RssControl */
$rss = $this["rss"];

// properties
$rss->title = "Moje stránky";
$rss->description = "Novinky na mých stránkách";
$rss->link = $this->link("//Homepage:");
$rss->setChannelProperty("lastBuildDate", time());
// je možno použít odpovídající metody setTitle, setDescription, setLink
// pro úpravu vlastností kanálu lze využít událost $onPrepareProperties

// items
$items = $this->db
->select("id, name as title, date as pubDate")
->from("articles")
->orderBy("date desc, id desc")
->limit("0, 10")
->fetchAll();
// toto je samozřejmě lepší mít v modelu

// úprava, lze také využít události $onPrepareItem
foreach ($items as &$item) {
$item["link"] = $this->link("//Article:", $item["id"]);
unset($item["id"]);
}

$rss->items = $items;
}

protected function createComponentRss() {
return new RssControl;
}

}

Šablona:

{control rss}

Poznámky:

  • veškerá data lze zadávat jako timestamp nebo ve formátu, který přečte funkce strtotime
  • pokud chybí položce item element guid, zkopíruje se z link a naopak

Historie

Připojené soubory


Login to submit a comment