Oldal nyomtatása Oldal nyomtatása

RSS feed

Honlapom összeállításánál fontos szempont volt, hogy hírcsatorna is üzemeljen rajta.

Idézet a Wiki-ből:

Az RSS webes együttműködésre szolgáló XML állományformátumok családja, mely megkíméli a felhasználókat attól, hogy az ilyen megoldást használó szájtokat rendszeresen kelljen látogatniuk az új tartalom ellenőrzése miatt, vagy levélben kelljen értesítést kapniuk erről.

Továbbiak itt: Wiki

Szóval ezzel kényelmesebbé tehetem a honlap változásainak nyomonkövetését, akiket érdekelnek az álatalam írt cikkek (persze itt csak a kijelölt oldalakról van szó).

A továbbiakban nézzük meg, hogy hogyan lehet egy CMS Made Simple alapú honlap esetében hírcsatornát működtetni.

Jelenleg ehhez a CGFeedMaker (a cikk írásának idején 1.0.4 verzió) modul áll a rendelkezésünkre. (Előzőleg az RSS modul is ezt a célt szolgálta, de ez nem támogatott). Még egy kiegészítés a CGFeedMaker igényli a CGExtensions modul telepítését is.

A kiindulási alap, hogy van három Hír kategóriánk, amit szeretnénk majd külön hírcsatornában megjeleníteni:

  • hírek_news
  • blog_news
  • tippek_news

1. lépés

Hozzunk létre feedeket és kategóriákat (az egyszerűség kedvéért mindjárt hármat - három feed, három kategória - , hogy azt is be tudjuk mutatni, hogyan lehet őket elkülöníteni egymástól).

Az új feedek:

/ Kiterjesztések / Calguys Feed Maker / Feeds / Add a new feed


  • hirek
  • blog
  • tippek

A kategóriák:

  • Hírek
  • Blog
  • Tippek

Amit nekünk kell beállítani az új feed létrehozásánál:



Itt figyelni, hogy a megfelelő feed-hez a megfelelő kategóriát és megfelelő oldalt jelöljünk meg!

2. lépés

Szerkesszük a kívánt feed sablonját az alábbiak szerint.

Most az egyszerűség kedvéért a hirek feed sablonját másolom ide (a többi feed analóg vele):

{* original rss feed template *}
<?xml version="1.0"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
{* note: if you have not configured pretty urls or mod rewrite, the next line may fail when trying to validate the feed *}
<atom:link href="{$feed_url}" rel="self" type="application/rss+xml" />
<title>{$feed.title}</title>
{if isset($feed.link) && !empty($feed.link)}<link>{$feed.link}</link>{/if}
{if isset($feed.description) && !empty($feed.description)}<description>{$feed.description}</description>{/if}
{if isset($feed.copyright) && !empty($feed.copyright)}<copyright>{$feed.copyright}</copyright>{/if}
{if isset($generator)}<generator>{$generator}</generator>{/if}
{if isset($feed.managing_editor) && !empty($feed.managing_editor)}<managingEditor>{$feed.managing_editor}</managingEditor>{/if}
{if isset($admin_email)}<webMaster>{$admin_email} ({$admin_user->firstname} {$admin_user->lastname})</webMaster>{/if}
{if isset($feed.image) && !empty($feed.image)}
<image>
{if isset($feed.description) && !empty($feed.description)}<description>{$feed.description}</description>{/if}
{if isset($feed.link) && !empty($feed.link)}<link>{$feed.link}</link>{/if}
<title>{$feed.title}</title>
<url>{$file_location}/{$feed.image}</url>
</image>
{/if}

{* an example of how to create a feed from a call to the news module *}
{* you can use any smarty variable that is available in the news summary template *}
{* you can substitute this logic with output from any module that supports a summary
view, or possibly get artistic and mix output from different modules *}
{news category='hírek_news' assign='junk'}
{foreach from=$items item='entry'}
<item>
<title>{$entry->title|cms_html_entity_decode}</title>
<link>{$entry->moreurl}</link>
{capture assign='description'}{if isset($entry->summary)}{$entry->summary}{else}{$entry->content}{/if}{/capture}
<description>{$description|trim|strip_tags|summarize:40}</description>
<pubDate>{$entry->postdate|rfc_date}</pubDate>
<guid>{$entry->moreurl}</guid>
</item>
{/foreach}
</channel>
</rss>
A vastagított rész a lényeges!

3. lépés

Most pedig hívjuk meg a CGFeedmaker-t.

Vagy minden oldalba külön beteszed az alábbi sorok egyikét (vagy akár mindegyiket):

{CGFeedmaker action='autodiscovery' category='Tippek'}
{CGFeedmaker action='autodiscovery' category='Blog'}
{CGFeedmaker action='autodiscovery' category='Hírek'}
Vagy a sablon <head> részébe ezt:

{CGFeedMaker action='autodiscovery' category='Hírek,Blog,Tippek'}

4. lépés

Ezek után már csak meg kell jeleníteni az oldalunkon a feed gombot (alapból a böngésző URL sávjában már ott van)

A kivánt helyre (nekem a sablon oldalsáv részében van) ezt a kódot kell beilleszteni:

<h2>Hírcsatornák</h2>
{CGFeedMaker action='rsslink' feed='hirek'}<br />
{CGFeedMaker action='rsslink' feed='blog'}<br />
{CGFeedMaker action='rsslink' feed='tippek'}
(vagy ennek a variációit)

Ha saját képet szeretnénk használni:

{CGFeedMaker action='rsslink' feed='hirek' image='images/rss/rss.png' imageclass='rssImage'}

Az eredmény:



Összefoglalva:

Hír kategória --> feed sablonba - news category='hírek_news' - A feedhez ezzel rendeled hozzá a híreket (vagy vica versa)

Feed kategória -->action='autodiscovery' category='Hírek' - Abba az oldalba, ahol a kívánt hír van (de lehet a sablonba is)

Behívás --> action='rsslink' feed='hirek' - Akárhová, ahol meg akarod jeleníteni az RSS gombot


0 comments
Hozzászólás hozzáadása

Kód a képben:
Az Ön neve(*):
Email:
Website:
Hozzászólás(*):