Zdravim všechny.
Teď jsem řešil jednu věc s rss kanálem. Soubor rss žádným způsobem nezohledňuje levely a vypisuje články i s vyššími přístupy, což ne všem, jako třeba mě, může vyhovovat. Na webu jsou prostě někdy články, které úmyslně nemají být vůbec vidět nikým jiným, než vybranými lidmi.
Druhá věc, kterou jsem řešil (to už teda je hlavně moje pakárna), je, že jsem nechtěl, aby se v rss kanálu objevovali články z některých rubrik, tak jsem si tam přidal malé omezení.
Pokud to bude někdo potřebovat, tu je návod:
V souboru rss.php si najděte řádky 54 - 56:
// generovani RSS souboru - obsahuje nejaktualnejsi clanky
$dotaz="select c.link,c.titulek,c.uvod,date_format(datum,'%a, %d %b %Y %H:%i:%S ') as datum,t.nazev from ".$GLOBALS["rspredpona"]."clanky as c,".$GLOBALS["rspredpona"]."topic as t ";
$dotaz.="where c.tema=t.idt and c.visible='1' and datum<'".$dnesnidatum."' order by c.datum desc limit 0,".$GLOBALS["mnozstvi"];
Nahraďte je tímto:
//vymezení rubrik, z kterých se nebudou zobrazovat články
$omezrubriky='("7","5","3","4")';
// generovani RSS souboru - obsahuje nejaktualnejsi clanky
$dotaz="select c.link,c.titulek,c.uvod,date_format(datum,'%a, %d %b %Y %H:%i:%S ') as datum,t.nazev from ".$GLOBALS["rspredpona"]."clanky as c,".$GLOBALS["rspredpona"]."topic as t ";
$dotaz.="where c.tema not in ".$omezrubriky." and c.tema=t.idt and c.visible='1' and datum<'".$dnesnidatum."' and c.level_clanku='1' order by c.datum desc limit 0,".$GLOBALS["mnozstvi"];
Tučnou kurzívou je označeno vše, co se týká omezení rubrik. Nechcete-li to tam, smažte to. Do proměnné $omezrubriky doplňte id rubrik, z kterých se nemají zobrazovat články. Id vepište do uvozovek a oddělte čárkami, jak je uvedeno v příkladu.
Jen tučně je omezení na základní level. U levelů vycházím z toho, že vše, co je zařazeno do základního levelu, může být vidět, základní level je neměnný a trvalý a nelze ho smazat ze systému (pokud ho někdo nevymstí rovnou z db:). Vše ostatní by mělo být viděno až po přihlášení čtenáře na webu. Chcete-li, aby byli vidět články i z vyšších levelů, postup je následující:
//sem vepište id levelů, které mají být viděny
$levely='("7","5","3","4")';
a tučné omezení v dotazu nahraďte tímto:
and c.level_clanku in ".$levely."
Samozřejmě se dají dělat i jiné hovadinky (např. odstranění úvodu u vyšších levelů a nahrazení nějakým inertním textem apod.) dle libosti a vašich schopností. Tohle berte jen jako jeden možný návod, který jsem potřeboval a rozhodl se o něj s vámi podělit;)
T. O. Severka Děčín |
New r.č. |
Old Good Tom | Jinak už v tom nefrčím... :-)
Celkem upraveno 1×. Poslední úprava zdenekh v 29.06.2008 12:12.