Kalendář v Drupalu 6 (videonávod)

Další pokračování série videonávodů pro redakční systém Drupal vás naučí, jak jednoduše implemenovat kalendářové rozhraní a vytvořit k němu příslušný obsah.

S kalendáři se na webech setkáváme v nejrůznějších podobách. Mohou sloužit pro přístup do archivu článků, kde nám jednoduše vyfiltrují příspěvky publikované v určitém období. To je funkce, se kterou se často setkáváme třeba u blogů postavených (nejen) na Wordpressu. Kalendář můžete na webu implementovat i pro vytvoření seznamu plánovaných událostí. Své čtenáře tak můžete jednoduchým způsobem o těchto akcích informovat.

Základní jádro redakčního systému Drupal žádný kalendářový modul nenabízí. Můžete si však vypomoci doplňkovými moduly. V následujícím videu jsou zmíněny následující moduly, které si stáhněte a nainstalujte do své implementace Drupalu:

Kalendář pro existující články

Jakmile uvedenou kombinaci modulů zapnete, vznikne vám v seznamu Views nový pohled nazvaný calendar. Aktivujte jej odkazem Enabled a přepněte se do Administrace, Prvky webu, Bloky. Aktivujte nový blok Calendar a vyzkoušejte jej.

Zobrazí se boxík s jednoduchým kalendářem, kde si můžete vybrat některý den a podívat se, zda tehdy byly publikovány některé články. Kromě toho, že je kalendářík klikací, ukazuje dny s vydanými články také podtržením číslice.

Kalendář pro nový typ obsahu

Kalendář samozřejmě nemusíte používat pouze pro již existující typy obsahu, jako jsou třeba běžné články. Můžete si vytvořit zcela nový typ obsahu, který bude obsahovat políčko s datem. Typickým příkladem je nový typ obsahu pro nějaké akce, který kromě standardních obsahových polí nabídne informaci o tom, kdy se akce koná.

Tento příklad si můžete vyzkoušet krok za krokem na následujícím videu.

Alternativní postup

Výše uvedené video ukazuje, jak vytvořit kalendář zároveň s přípravou zcela nového typu obsahu. Pokud však chcete kalendář „naroubovat" na existující typ obsahu s nějakým datovým políčkem, postupujte tak, že naklonujete výchozí Views nazvané calendar a mírně jej upravíte.

Nejprve upravte filtr tak, aby se vám do View dostal jen určitý typ obsahu. Poté si v sekci Arguments přidejte políčko s datem, podle něhož budou články propojeny s kalendářem. Výchozí nastavení počítá s tím, že je obsah provázán dle data vydání uzlu.

Nastavení vzhledu kalendáře

S úpravou vzhledu kalendáře pomocí kaskádových stylů byste neměli mít problém. Stačí si uvědomit, že kalendář je vlastně klasické View upravené o několik nových prvků. Se stylováním vám může pomoci vygenerování šablony pomocí Views. Přepněte se do úpravy prvku pohledu a v sekci Theme klepněte na odkaz Information. Zobrazí se seznam možných souborů šablony, po kliknutí na něj se ukáže obsah, který byste do takového souboru v šabloně měli uložit. Poté jej stačí jen upravit a změnit vzhled pomocí kaskádových stylů.

Tento článek a v podstatě i video jsou určeny zkušenějším tvůrcům webu s Drupalem. Budete-li mít problémy se stylováním kalendáře a Views obecně, můžeme se tomuto tématu věnovat někdy příště. Před použitím modulu Calendar vřele doporučuji nastudovat, jak se vůbec pracuje s Views. Vše potřebné by vám měla odpovědět má kniha o Drupalu.

Líbí se vám článek? Dejte mu hlas:
Přidej odkaz na Bookmarky.cz

čeština

Dobrý den, dobrý návod a funguje to parádně. Existuje na to nějaké počeštění, myslím počeštění toho kalendáře a položek v něm?

Obrázek uživatele maxiorel

Re: čeština pro kalendář

Zdravím, nevím o tom. Leda si to ručně přeložit pomocí Administrace|Prvky webu|Překlad rozhraní.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

A ještě se chci optat, když

A ještě se chci optat, když chci posunout třeba na další měsíc, tak se reloaduje celá stránka. Dá se to nějak nastavit, aby se měnil jen kalendář?

Obrázek uživatele maxiorel

Re: A ještě se chci optat, když

Tak teoreticky by mělo stačit, pokud v definici Views zapnete volbu Use Ajax v sekci Basic Settings. Ovšem zkoušel jsem to a stejně se načítá celá stránka při jakékoli změně období.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Re: A ještě se chci optat, když

Máte pravdu, ani po zapnutí to nefunguje. Zjistil jsem ještě jednu chybku, když chci zobrazit přehled akcí na celý rok, tak kliknutím na year mi vyskočí toto:

Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 50860966 bytes) in /www/cz/r/rrvysocina.cz/web/includes/bootstrap.inc on line 735

Monthly Archive

Díky za návod, zkusil jsem použít i předpřipravený pohled "Archive", který přidá blok "Monthly archive", ale bohužel se mi nedaří pohled přesvědčit, aby měsíce řadil sestupně (od aktuálního k nejstarším). V konfiguraci views je nastaveno Sort criateria na Node: Post date desc (default view i block view) - náhled zobrazuje, to co má, ale v bloku na stránce je výstup po uložení konfigurace view stále vzestupný. Poradíte, co s tím?

BTW. ajax v bloku taky nefunguje, stránkování měsíců v archívu překreslí celou stránku :-/

Re: Monthly Archive

Mám to, problém byl mezi židlí a klávesnicí :-/

Automatické odeslání na e-mail

Dobrý večer, velmi pěkný článek. Lze pomocí nějakého modulu zajistit, aby se jednotlivé události odesílaly automaticky na zadaný seznam e-mailů. Nejlépe k datu přidání a pak v zadaný počet dní před událostí. Děkuji za odpověď.

Obrázek uživatele maxiorel

Re: Automatické odeslání na e-mail

Dobrý den, myslím, že by to šlo pomocí standardního modulu Action.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Místní nastavení data a času

Pěkný den,

poté co nainstaluji modul date_api se změní stránka s nastavením formátu data a času. Předdefinované formáty a také vlastní formáty se vypisují pouze anglicky a nedokáži je nijak nastavit na české. Prostě třeba PHP zápis "D, j. M Y H:i" se zobrazí jako Tue, 4. Aug 2009 22:09 namísto aby byl "Út, 4. Srp 2009 22:09".

Existuje řešení?

Děkuji velice za odpověď.

Obrázek uživatele maxiorel

Re: Místní nastavení data a času

Dobrý den. Zkuste to přeložit v Překladovém rozhraní. Já jsem se smířil s tím, že v administraci je to anglicky, ale v článcích a jinde, kde se datum vypisuje, je to česky.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Barvy v kalendáři

Dobry den,
pouzivam modul Calendar pro vytvoreni ukolnicku v ramci firmy. V kalendari se potom zobrazuji ukoly na urcite dny. Zaroven mam k dispozici fields, kde definuju pro koho je ukol urcen a pomoci modulu Workflow se nastavuje stav ukolu. V praxi to vypada asi takto: http://nielo.xf.cz/ukolnik.jpg

Potreboval bych nejakym zpusobem rozlisovat dokoncene a nedokoncene ukoly a zaroven pro kazdeho uzivatale jinou barvu. Dokoncene ukoly budou mit napr. zeleny border, nedokoncene zadny. Podklad ukoly je implicitne zluty, chtel bych pro kazdeho uzivatele jinou barvu. Staci nadefinovat staticky stylem if (uzivatel=novak) ... Pravdepodobne bude cesta pres nejaky tpl.php, ale nevim si rady s promennyma. Pomuzete?

Obrázek uživatele maxiorel

Re: Barvy v kalendáři

Dobrý den. Takto naslepo to asi nezvládnu. V definici Views bych rozklepl seznam šablon, vytvořil příslušný soubor v tématu vzhledu a v něm doplnil nějaké class podle pravidla, které zmiňujete. Ve style.css pak už stačí doplnit barvu.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Zobrazenie priamo článku

Dobrý deň,
chcem sa spýtať, akým spôsobom sa dá urobiť, aby som bol po kliknutí na konkrétny deň v kalendári presmerovaný priamo na zoznam článkov vytvorený v ten deň, ale nie v tej kalendárovej tabuľke, ale ako výpis článkov (napr. ako môže byť na titulnej strane).

Chcem ešte pochváliť knižku Drupal, ktorá mi veľmi pomohla, je to skvelá pomoc pre všetkých, výborne napísaná.

Nech sa darí, Mišo BA

Obrázek uživatele maxiorel

Re: Zobrazenie priamo článku

Dobrý den. Tohle myslím nejde. Muselo by se dělat nějaké dynamické View, které by zobrazovalo články podle data. Kalendář je ale vytvořen tak, aby odkazoval na své vlastní zobrazení.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Re: Zobrazenie priamo článku

Zdravím,
Mám podobný "problém", ale není k tomu potřeba nic dynamického. Jen se mi nelíbí, že se konkrétní událost vypíše vmizerném plovoucím okně (většinou utíká pod obrazovku). Jak by se mohl vypsat rovnou e ne v tomhle okně. Mate mne, že odkaz je stejný.

Barvy kalendare

Mam dotaz na zmenu barvy v kalendare. Ktery je zobrazen v bloku. Nevim ktere css jej zahrnuje zkousel jsem .mini .day atd v css calendar modulu ale bez vysledku.

Obrázek uživatele maxiorel

Re: Barvy kalendare

Zkuste Firebug a Web Developer plugin pro Firefox. Odpoví Vám. Já bych řekl, že se stačí kouknout na barvy v #calendar.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Re: Barvy kalendare

Dekuji za odpoved a taky za pekne a docela jednoznacne provedene video. Barvy se mi nakonec podarili dat dohromody, chtelo se to akorat vice vnorit do css. Jeste jednou diky.

Nefunkcní modul Date API a nasledne pak taky Calendar

Dobrý den, chtel bych se zeptat, jestli pak ste se uz setkali z tim, ze po nakopirovani Date a Calendar modulu a po aktivaci v admin rozhrani, dojde k mnozstvu chybovych hlaseni.

Pokousel sem se to vyselektovat tim, ze sem krok po kroku vypinal soucati modulu dle navaznosti, az sem dosel hned k prvnimu, ktery je potrebny zapnout a to Date API.

Jak vsichni vime, on musi byt zapnuty jako prvni, aby se dali zapnout ostatni, ale jelikos prave on vyhodi chybovou hlasku cely calendar je pak nepouzitelny...

zni asi takhle: "warning: Attempt to modify property of non-object in C:\wamp\www\AEC\modules\date\includes\date_plugin_display_attachment.inc on line 24."

a pak sou tam lines 25,26,28,29,30,31
pro jistotu to vyhodi dva krat takze to zabere peknou cast obrazovky

prosim o odpoved a predem dekuju

PS: vsechny moduly mam "up to date"

Obrázek uživatele maxiorel

Re: Nefunkcní modul Date API a nasledne pak taky Calendar

Jo, vykřikuje to, ale funguje. Pro jistotu ale připomínám, že je třeba mít PHP 5.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Re: Nefunkcní modul Date API a nasledne pak taky Calendar

k běhu je potřeba ještě modul Content, ale nedaří se mě ho najít. Nacházím jen samé rozšíření tohoto modulu, ale samotný Content ne

Obrázek uživatele maxiorel

Re: Nefunkcní modul Date API a nasledne pak taky Calendar

Content je základní modul z CCK.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

views-6.x-3.0-alpha3 !!! tato

views-6.x-3.0-alpha3 !!! tato verze mi házela chybu po založení prvního obsahu typu Akce. Stránka s kalendářem se vůbec nenačetla. Jelikož jsem měl nastaveno zobrazení kalendáře všude tak jsem byl chvíli bezradný. pomohlo mi se vrátit do administrace (jiné téma bez kalendáře) a po smazání vytvořeného obsahu jsem mohl opět pracovat. Nicméně s touto verzí views jsem to nerozchodil. Jsem začátečník.

Nicméně verze views-6.x-2.10 je v pořádku.

Díky za článek, přesně to jsem potřeboval. JK

Obrázek uživatele maxiorel

Re: views-6.x-3.0-alpha3 !!! tato

Jojo. Používejte raději stabilní vývojovou řadu modulů. Žádné alphy nebo bety.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Překlad view

Dobrý den,

předně musím poděkovat za precizní práci s návodem. Nahradil jsem tímto způsobem kalendář pomocí modulu Event. Je to trochu efektnější, ale mám otázku. Jak přeložím anglické texty z view do češtiny? Pomocí rozhraní v Drupalu nelze.

Děkuji

Obrázek uživatele maxiorel

Re: Překlad view

Překlad by určitě měl jít. Nezapomeňte, že vyhledávání v překladovém rozhraní je citlivé na velikost zadaných textů (malá velká písmenka).

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Re: Překlad view

Dobrý deň.

Ja som to vyhľadával asi takto: !day-name Sunday|Monday|Tuesday|Wednesday|Thursday|Friday|Saturday a následne som to preložil. Niečo podobné je to aj s mesiacmi atď.

Mám však iný problém. Podľa perfektného videonávodu mi všetko funguje a vďaka prekladu mám slovenské dni, mesiace ... Chcel by som vytvoriť stránku, ktorou chcem pomôcť a ponúknuť niečo pre tých, ktorým to bude blízke. Mal by to byť taký Diár. Okrem iného základ bude tvoriť práve Kalendár a udalosti v ňom. Najjednoduchšie to vysvetlím na jedálnom lístku. Ak kliknem na konkrétny deň načíta sa mi nová stránka s tromi listami (lištami, odkazmi - neviem to pomenovať) A to Raňajky - Obed - Večera medzi ktorými môžem prepínať. Udalosť musí byť rozbalená celá a často bude aj pomerne dlhá.

Za každú dobrú radu budem vďačný a ľudí ktorí sú trpezliví a ochotní pomôcť nováčikom v Drupale si veľmi vážim. Medzi nich patrí samozrejme Ján Polzer. Ešte raz vďaka za stránku a tiež za vydané knihy.

Marek

Obrázek uživatele maxiorel

Re: Překlad view

Hm... Na tu kombinaci by se určitě použilo Views, CCK a spol. ale teď mě z hlavy nenapadá, jak to celé zkombinovat. Možná nějak přes argumenty ve Views?

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Re: Kalendář v Drupalu 6 (videonávod)

Dobrý den.

Použil jsem váš videonávod na kalendář, postupoval jsem krok za krokem a nevyskytl se žádný problém. Při zadávání nové akce do kalendáře ovšem nemám nabídku na vložení datumů akce - jen prostý text, takže se ani akce nemá šanci zobrazit v kalendáři. Nevím, kde dělám chybu. Nenapadá vás nějaký tip? děkuji

Obrázek uživatele maxiorel

Re: Kalendář v Drupalu 6 (videonávod)

Dobrý den,
koukněte se, jak máte nastavena políčka CCK, případně jestli máte právo na jejich vkládání.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Re: Kalendář v Drupalu 6 (videonávod)

Trošku jsem narazil, v Administraci-Správa obsahu-Typy obsahu vubec nemám možnosti Add field ani Add group. V Admin-Prvky webu-Moduly mám samozřejmě veškeré součásti CCK zapnuty. Ale nalezl jsem další nesrovnalost, v nastavení Views - Sort criteria mám "Broken/Missing Handler". Je to můj první Drupalovský projekt, některé části jsou pro mě ještě španělská vesnice.

Obrázek uživatele maxiorel

Re: Kalendář v Drupalu 6 (videonávod)

Zkuste se ujistit, že nemáte DEV verze modulů, ale stabilní verze. Vypněte CCK, odinstalujte jej a zapněte znovu.

Jan Polzer, šéf Maxiorla. Nabízím mimo jiné placené poradenství pro Drupal.

Re: Kalendář v Drupalu 6 (videonávod)

Mockrát děkuji. Měl jste pravdu, modul Date jsem měl -dev. Moc si vážím vaší pohotové a účinné pomoci. S přáním hezkého dne, Jan Nagy ;-)

Volby prohlížení komentářů

Vyberte si, jak chcete zobrazovat komentáře a klikněte na „Uložit změny“.