Nacházíte se: WALL.czNástěnka › Kalendář pro SunLight-CMS
Kategorie: Nástěnka

Kalendář pro SunLight-CMS

FotoS přibývajícím počtem článků jsem více postrádal archiv článků zobrazený formou kalendáře. Vzhledem k tomu, že archiv a kalendář není součástí redakčního systému SunLight-CMS, kalendář s archivem jsem si napsal.

Po několika hodinách práce jsem vytvořil dva soubory:

  • archiv.php - generuje výpis z archivu vybraného/aktuálního měsíce a roku.
  • kalendar.php - vlastní soubor s kalendářem, ve kterém se zobrazují odkazy na nalezené články.

Postup instalace Kalendáře.

Uložte soubory archiv.php do složky require a kalendar.php do upload/php. Dále musíme zajistit, aby se nám zobrazoval nový modul "Archiv". Otevřete soubor index.php a přidejte další položku do Switche za poslední položku case "topic":

//archiv case "arch": define('_indexOutput_url', "index.php?m=arch"); require(_indexroot."require/archiv.php"); define('_indexOutput_content', $output); define('_indexOutput_title', 'Archiv'); break;

Pokud by tato úprava byla pro někoho složitá, tak upravený soubor index.php jsem přiložil do balíčku se skripty.

Vytvořte si nový "Box" a nazvěte ho například "Archiv". Do boxu vlože HCM modul na spuštění PHP kódu. Zadání může vypadat například takto:

[hcm]php,$output=include("upload/php/kalendar.php");[/hcm]

Kalendáři je také potřeba nastavit rozměry, fonty a barvy. Nastavení stylů proveďte v souboru system.css. Kalendáři je přiřazena třída kal.

/* kalendář */ .kal .akt {} označení aktuálního dne "dnes" .kal .art {} buňka s odkazem na článek/ky .kal .mes {} řádek s měsícem a rokem .kal .den {} den v týdne Po-Pá .kal .vik {} dny víkendu So-Ne .kal .nic {} prázdné pole v kalendáři

Popis kalendáře a archivu.

  • Při otevření kalendáře se automaticky vyhledávají články pro daný měsíc a rok.
  • Pokud je nalezen článek, je v kalendáři vyznačen, tak jak je nastaveno v system.css. V mém případě je to tmavě zelená buňka tabulky kalendáře.
  • Po najetí myší na nalezený článek (zvýrazněnou buňku) se zobrazí název článku.
  • Po kliknutí na nalezený článek v kalendáři bude uživatel přesměrován na daný článek.
  • Pokud je v daném dni více článků, tak se po kliknutí na odkaz zobrazí výpis všech článků z daného dne.
  • Název měsíce a číslo roku tvoří jeden odkaz po jehož stisknutí se zobrazí výpis z archivu.
  • Šipky v levém a pravém horním rohu slouží k listování v kalendáři/archivu.
archiv

Kalendář je testovaný pro verzi 7.4.1, takže vám určitě poběží i na verzi 7.4.0. Na starších verzích jsem to nezkoušel. Soubory s archivem ke stažení: Nejste přihlášen(a).

print Formát pro tisk

Sdílet článek:

Komentáře rss

Zasílate odpověď ke stávajícímu příspěvku (zrušit).

Nemáte oprávnění přidávat příspěvky.

Uživatelské jméno
Heslo
     

Registrace >
Ztracené heslo >


Strana:  1 2   další »
, Verze pro 7.5.x odpovědět
Začátečník
Docela slušný počin.
Rozhodl jsem se implementovat pro své potřeby, ale...

Nejnutnější jsem přepsal pro novou verzi (7.5.3) a po rozchození (bez zásahu do systému) jsem se zděsil.

Stávající verze pro jeden kalendář čítala neuvěřitelných 42 až 49 zbytečných dotazů do databáze a to pokud nebyl v daném měsíci vydán žádný článek.
Za předpokladu, že každý den bude vydán článek je tento počet dotazů neskutečných 80!

Po překopání kalendáře se mi povedlo vše zredukovat do jednoho jediného dotazu a tedy podstatně snížit nároky.

Optimalizaci kódu sice ještě nemám dopracovanou, ale snad by mělo být hrubě hotovo.

Kalendář se vkládá jako klasický HCM modul a pro zobrazení článků je využíváno rozšíření, které je součástí kalendáře.
Stačí jen pouhé nakopírování souborů na FTP a umístit HCM modul dle standardů CMS na Vámi vybrané místo.

Byla dopracována podmínka pro nezobrazení nevydaných článků, ...
Byla nahrazena "problémová" funkce cal_days_in_month.

Kdo by měl zájem testovat, pište.

Ukázka zde.citovat
icon , - odpovědět
admin
Ano, tento modul budu upravovat pro novou verzi Sunlight CMS 7.5.0citovat
odpověděl(a)
avatar
Kedy bude pre 750 ?citovat
, Aktualizace odpovědět
avatar
Zdravím bude se tento hcm modul upravovat pro novou verzi Sunlight CMS 7.5.0? Díky za odpověďcitovat
, Pomoc s filtrací odpovědět
N3S4
Ahoj, potřebuji poradit, jak z kalendáře vyloučim např. kategorii id 60 ? Aby se mi v kalendáři zobrazovali všechny příspěvky, kromě těch z kategorie id 60.

Když jsem zadal tento kód,:
$query=mysql_query("SELECT id,title,time FROM `"._mysql_prefix."-articles` WHERE visible=1 AND public=1 AND home1=60");
nevypsalo mi to ani jeden článek v kalendáři, mimo právě kategorie id 60 a dnešního příspěvku. 3

Jak to lze provést? Jestli to ovšem vůbec lze..citovat
icon odpověděl(a)
admin
Pokud by měla být kategorie 60 vyloučena, tak by měl být dotaz:
$query=mysql_query("SELECT id,title,time FROM `"._mysql_prefix."-articles` WHERE visible=1 AND public=1 AND home1!=60");citovat
odpověděl(a)
N3S4
OK, díky moc, dělal jsem to podle návodu o pár řádků níže, a tam je totiž uvedena ta chyba, chybí tam taky ten vykřičník 2

A pokud budu chtít ofiltrovat více kategorií, tak jak mám postupovat?citovat
icon odpověděl(a)
admin
Tak bude stačit přidat další podmínky AND home1!=11 ...citovat
, Zobrazení článku odpovědět
martinvlorenc
Ahoj, předem děkuju za úžasný kalendář.
Mám problém: pokud nastavím článek s budoucím datem, zobrazí se mi jen, pokud jsem přihlášený uživatel. Pokud se odhlásím, vypíše to hlášku "Vámi požádovaná stránka nebyla nalezena."

Nevíte, co s tím? 6citovat
icon odpověděl(a)
admin
Pokud je článek do budoucna systém tento článek 'nevidí'.citovat
, JirkaVo odpovědět
avatar
Já jsem na tom stejně. Udělal jsem vše podle návodu, ale chyba. Mám také verzi 742. Nemůže to být tím. Mám to na hostingu u IC. Jinak vše co je zde tak super. Jen ten kalendář nejde. Také soubor index.php na verzi 742 je větší než ten doporučený co je u kal. na přepsání. Tak že při přesání se stránky ani neukážou. A když jsem to vložil do indexu, tak se mě zobrazily nesmysly ve sloupci, kde měl být kal. Zatím to pokouším na Lokalhostu.
Dík za rozluštění problému
3citovat
, Chyba odpovědět
avatar
Udělal jsem vše podle navodu,ale chyba. viz www http://danisek.borec.cz/ . Díky za radu 3citovat
icon odpověděl(a)
admin
Hosting WZ nepodporuji funkci 'cal_days_in_month'.citovat
, výběr kategorie odpovědět
avatar
a šlo by nastavit, aby kalendář zobrazoval pouze články z určité kategorie? (tedy ne všechny)citovat
icon odpověděl(a)
admin
Na řádku 34 rozšířit MySQL dotaz o filtrování kategorie: home1 = ID kategorie, která se má filtrovat


$query=mysql_query("SELECT id,title,time FROM `"._mysql_prefix."-articles` WHERE visible=1 AND public=1 AND home1=2");
citovat
, :-) odpovědět
avatar
Tyhle stránky jsou fakt bomba 1 Hodně jsem se tady dozvěděl a pak i naučil na mých stránkách... kalendář je další super věc!!! Ještě kdyby tam místo archivu článků šlo zadat např. kalendář akcí a nemá to chybu, ale i takhle super... dííííky moc a autorovi patří můj obdiv 2citovat
odpověděl(a)
avatar
jo jde to udelat provizorne vytvoris si dalsi kategorii (ja ji mam skrytou) treba planovane akce a do nich budes pak pridavat nove clanky a nastavis datum rucne ale pozor aby ti sel vypis planovanych akci s budoucim datem musis udelat mensi zasah do zdrojaku vice zde
http://sunlight-cms.net/index.php?m=topic&id=2481citovat
, Pochvala odpovědět
avatar
konecne poriadny dopnok pre sunlight 2citovat

Strana:  1 2   další »

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje