Představení drupalovského webu Život s dietou

Jeden z nejnovějších přírůstků do rodiny webů postavených na systému Drupal, je Život s dietou. Jelikož se poslední dobou ptáte, s jakými moduly řešit na webech různé věci, koukneme na tyto stránky technicky.

Život s dietou je webový magazín, který bude svým čtenářům přinášet články na téma zdravé výživy se zaměřením na potravinové diety. Primárně je určen všem těm, kdo mají nějaké potravinové alergie a nemohou jíst některé potraviny. Najdete zde i recepty odpovídající zaměření webu. Gafiku webu má na svědomí Pavel Junk.

Z technického hlediska je web postaven na redakčním systému Drupal 7 s celou řadou doplňkových modulů. Některé z nich si rozebereme dále v textu:

Jak na členité menu?

Hlavní menu webu Život s dietou není na první pohled ničím zvláštní. Jakmile však najedete myší nad některé z položek, objeví se zanořené položky v trošku netradiční podobě, než na jakou jste z „typických" webů postavených na Drupalu zvyklí. Vícesloupcové podmenu, do kterého můžete umístit libovolný počet bloků (a tedy jiných menu, Views nebo běžných textových bloků) je vytvořeno za pomoci modulu OM Maximenu.

Toto řešení má výhodu v možnosti umístit do jednotlivých položek menu prakticky jakýkoli obsah. Zde například v případě položky Články jsou umístěny některé z kategorií článků na webu a upoutávka na článek, který by čtenářům neměl ujít.

Nastylovat OM Maximenu nebylo sice nejjednodušším úkolem na tomto webu, na druhou stranu ani nejtěžším. OM Maximenu drží určitý layout, takže stačilo vše trochu poskládat a obarvit.

Život s dietou

Upoutávka

Na řešení upoutávek na webech se v mailech ptáte docela často. Mým oblíbeným řešením, které nasazuji téměř na všechny weby s Drupalem, kde se upoutávky vyskytují, je kombinace modulů Views, Nodequeue a Views Slideshow.

V tomto případě jsou do fronty tvořené pomocí Nodequeue ručně umístěny články či recepty, které chce redakce vypíchnout a za pomoci Views Slideshow dochází k jejich střídání v bloku.

Jak pracovat s modulem Views Slideshow jsem před rokem zmínil ve videonávodu Jak na slideshow článků v Drupalu 7 a jejich stylování.

Fronty článků a modul Nodequeue

Modul Nodequeue je na webu využit spolu s Views Slideshow ještě na dalších místech. Konkrétně ve spodní části, kde rotují doporučené recepty. V tomto případě je jen trochu upravené nastavení, aby se v rámci jednoho slajdu zobrazily tři položky.

Život s dietou

Entity a různé formy zobrazení

Na stránkách Život s dietou hojně pracuji s nejrůznějšími moduly, které těží ze systému entit v Drupalu 7. Pro zrychlení práce se mi velice osvědčil modul Entity view modes, pomocí kterého lze pro jednotlivé typy obsahu (nejenom pro ně) definovat i jiné typy zobrazení, než standardní full a teaser.

Je neskutečně pohodlné naklikat si jednotlivá políčka a jejich zobrazení pro různé režimy a ty pak v různých Views jen volat. Bez toho, že by se člověk musel zdržovat naklikáváním políček v každém jednotlivém View. Nemluvě o snazším stylování.

Více viz Entity View Modes: postavte si vlastní režimy zobrazení v Drupalu 7.

Provázanost receptů a surovin

Z důvodu možného pozdějšího rozšíření webu jsou jednotlivé suroviny u receptů tvořeny samostatnými uzly. Z pohledu editace to vypadá tak, že existuje seznam surovin, jejichž zly je možné propojit ke konkrétnímu receptu pomocí modulu Entity Reference (zapomeňte na References, ty mají asi odzvoněno, Entity Reference je pružnější).

Jelikož je ale potřeba do receptu zadávat název suroviny v jiném, než prvním pádě (Pohanková mouka vs. 260 g pohankové mouky), sáhl jsem ještě po modulu Field collection. Funguje tak, že z políčka s referencí na daný uzel suroviny a dalšího políčka s textem pro zadání zobrazovaného názvu udělá pole jedno. To pak připojíte do uvažovaného typu obsahu. Tedy zde v editaci vyberou surovinu a hned pod ni zadají název zobrazovaný v detailu receptu. Propojení obou uzlů zůstává, přitom nechybí možnost určit libovolný text, který se pro danou surovinu zobrazí.

Za pomoci modulu Entity connect je možné z editace receptu přidávat další uzel se surovinou. K dokonalosti má současná podoba modulu sice ještě daleko, ale třeba pro vaše soukromé řešení je to zajímavé vylepšení.

Život s dietou

Vyhledávání pomocí Vystavených filtrů ve Views

Vyhledávací formulář v hlavičce webu je klasické řešení postavené na možnosti tvořit tzv. vystavené filtry pomocí modulu Views. Tedy takové filtrování výpisu obsahu, které nemá pevně daný filtr, ale kdy hodnotu tohoto filtru určuje sám uživatel.

Na toto téma jsem na Maxiorlovi napsal článků několik, například Drupal: vyhledávací formulář pomocí Views (pro Drupal 6 a Views 2, v Drupalu 7 a Views 3 je to podobné).

Související obsah, obsah uživatele a kontexové filtry ve Views

Další zajímavá funkcionalita Views, mnohými už neprávem považována za docela složitou, je použití kontextových filtrů. V případě Života s dietou ji najdete například pod články a recepty, kde jsou zobrazeny bloky s výběrem souvisejících článků, respektive receptů. Návod na toto téma najdete v článku Jak vytvořit blok s odkazy na související články v Drupalu 7.

Co se týče článků a receptů pro jednotlivé autory a jejich stránky, tak opět zde přicházejí ke slovu kontextové filtry, ale v o něco jednodušší podobě. Prostě jen přidáte kontextový filtr Uživatel: Uid a jako výchozí hodnotu mu nastavíte User ID from URL.

Nastylování rozbalovacích nabídek

Rozbalovací nabídka v hlavičce je nastylována s použitím jQuery pluginu select_skin. Podrobnější návod k tomuto najdete opět zde na Maxiorlovi, a to v článku Jak stylovat rozbalovací nabídky (select) pomocí CSS a jQuery.

Reklamní systém

Oříškem byl reklamní systém. V Drupalu 6 jsem bez problémů používal modul Advertisement. Fungoval spolehlivě, zobrazoval statistiku, hlídal opakovaná kliknutí, nabízel automatické stažení reklamy po určitém objemu zobrazení. Jeho verze pro Drupal 7 není použitelná a náhradu jsem nenašel (víte o nějaké?). Po pár omylech s hostovaným OpenX jsem začal doporučovat Google DFP. Používám jej na některé reklamní plochy na Maxiorlovi a tento reklamní systém je využit i na Životě s dietou.

Témata měsíce

Poslední tip na modul, který jsem na Životě s dietou použil, je na Quick Tabs. Jedná se o praktický modul vytvářející překlikávatelné záložky fungující buď AJAXově nebo s běžným načítáním. Můžete do nich umístit jakékoli bloky nebo i přímo výstup z Views bez bloků. V tomto případě je Quick Tabs využito například v uživatelských profilech, kde se lze přepínat mezi seznamy článků a receptů daného autora.

Druhým místem, kde Quick Tabs na webu Život s dietou najdete, je boxík Téma měsíce. V tomto případě slouží k překlikávání tří běžných bloků s textem a obrázkem.

Život s dietou

Web se postupně rozjíždí

Život s dietou byl spuštěn před pár dny, postupně se rozjíždí a dolaďují se na něm poslední drobné mouchy. Trápí-li vás rychlost načtení webu, vězte, že v dohledné době zřejmě změní hosting. Momentálně už je web přesunut k WEDOSu na tarfi noLimit Extra a rychlost se zdá v normálu.

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Web Development Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

návštěvník

Také se připojuji s chválou. Řadím se mezi permanentní Drupal začátečníky a dost mě zajímá jak je web na Drupalu ve finále postavený... Prosím o více článků tohoto druhu. Díky

Profile picture for user Jan Polzer

Jsem mile překvapen. Ale vlastně je to pořád dokola. Články, které napíšu vždy jen tak mimochodem, když mě nenapadne jiné téma, jsou většinou ty nejoblíbenější :-) Díky za názory, zohledním to pro příště.

návštěvník

Moc chválím, vypadá to skvěle! Jakou jste použil výchozí šablonu?

Profile picture for user Jan Polzer

Žádnou... CSS jsem psal od začátku, co se *.tpl.php týče, tak pokud jsem je potřeboval upravit, použil jsem výchozí z jádra Drupalu a dal je to svého tématu vzhledu.

návštěvník

Skutečně velmi hezká práce, čisté, přehledné, čitelné. Obdiv

návštěvník

Super článek, ještě se v některém dalším článku zkuste rozepsat, jak ladíte výkon Drupalu na těchto větších webech. Zejména když běží na sdíleném hostingu tak jsou ruce poměrně svázané...

Profile picture for user Jan Polzer

No, na hostingu toho k ladění moc není. Ale něco se dá. Řídím se hlavně doporučeními, který jsem získal při zkoušení Acquia Network. Možná by to bylo na článeček, uvidím.

Přidat komentář

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru