WebToDate/Ankety/O produktu
Základní vlastnosti modulu
Tento modul je určen k vytváření a správě standardních webových hlasovacích anket, kdy se vybírá jedna odpověď z několika předdefinovaných možností. Hlasovací ankety se umísťují na veřejně přístupné stránky webové prezentace a umožňují hlasovat všem anonymním návštěvníkům. Příklady zobrazení takovýchto anket jsou na následujících otiscích obrazovky z některých implementací WebToDate.


Modul samozřejmě uchovává shromážděná data – výsledky hlasování, podporuje pak např. výpisy starších anket, jak je znázorněno na následujícím otisku obrazovky.

Základní možnosti jsou následující:
- Lze vytvářet libovolné množství anket, na jednom serveru může být zároveň prezentováno více různých anket.
- Anketa je vždy tvořena otázkou a výběrem z několika připravených odpovědí, uživatel musí při hlasování zvolit právě jednu odpověď.
- Formátování (grafické zobrazení) anket je volně definovatelné, formátuje se definovaným WebToDate stylem. Lze implementovat anketu jako formulář (s radiopřepínači) nebo hlasování přímo klepnutím na odpověď.
- Je implementován aparát využívající cookies, který jednak brání stejnému uživateli hlasovat vícekrát, a dále na základě rozpoznávání toho, zda uživatel již hlasoval, může zobrazovat jiný tvar ankety (např. již bez aktivních prvků pro hlasování)
- Daná anketa může být svázána s konkrétní WebToDate zprávou, nebo může jít o obecnou anketu použitelnou kdekoliv na www prezentaci.
- Položky anket mohou mít řadu dalších údajů, např. příznak, zda je anketa aktivní (na neaktivní anketu již nelze hlasovat), mohou být opatřeny komentářem (který se např. zobrazuje ve výpisu starších anket) apod.
Co modul umožňuje
Anketa nabízející hlasování se může zobrazovat na těchto typech stránek:
- Ve stránce s celým textem zprávy (stránka zobrazovaná pomocí skriptu /scripts/detail.php)
- V samostatné hlasovací stránce (stránka /scripts/modules/vote/vote.php)
- Na kterékoliv jiné stránce generované pomocí WebToDate
První dva případy jsou specifické v tom, že se jedná o dynamické zobrazení, tj. zobrazení celé ankety se sestavuje ve chvíli požadavku na zobrazení stránky. Zde může anketa rozlišit stav – zda již uživatel na tuto anketu hlasoval nebo ještě ne. Tomu odpovídají v nastavení modulu WebToDate styly – jeden styl pro zobrazení Před hlasováním a druhý Po hlasování. Pomocí těchto dvou stylů lze tyto stavy rozlišit graficky – styl Před hlasováním by měl nabízet možnost klepnutí na odpověď, styl Po hlasování pouze prezentovat aktuální výsledky hlasování. Sledování hlasování je ovšem nezávislé na těchto grafických stylech – i když bude styl Po hlasování nabízet klepnutí na nějakou odpověď, volba se započítá jen poprvé a podruhé nelze hlasovat.
Třetí typ zobrazování anket (na stránce generované pomocí WebToDate) počítá s tím, že anketa je umístěna staticky na nějakou stránku, tj. celý její HTML kód je předgenerován, a hlasování je směrováno na samostatnou stránku /scripts/modules/vote/vote.php. Z toho vyplývá, že pokud je např. třeba umístit anketu na úvodní stránku www prezentace, která je staticky generovaná, musí anketa nabízet pro všechny uživatele stejný kód, který nerozlišuje stavy před a po hlasování a který nemůže např. zobrazovat aktuální výsledky, výběr odpovědi znamená, že se zobrazí stránka pro jednotlivé ankety /scripts/modules/vote/vote.php, kde je zobrazen aktuální výsledek hlasování stylem Po hlasování.
Nejjednodušší příklad je hlasování uvnitř zprávy svázané s danou konkrétní zprávou. Princip způsobu zpracování je naznačen na následujícím diagramu.
[[Image:]]
V předloze pro zprávy je třeba umístit jedno klíčové slovo zastupující celý hlasovací formulář. Při zobrazení zprávy se pak vyhodnocuje, zda uživatel na tuto anketu již hlasoval a podle toho se zvolí jeden ze dvou možných formátovacích stylů. Při tom, nezáleží na tom, jestli jde o aktuálně provedené hlasování, tj. uživatel zrovna provádí hlasování, nebo jestli jde o zobrazení ankety, na kterou uživatel odpovídal před týdnem – rozdíl zde je pouze v tom, že se v prvním případě aktuálně započte nový hlas, způsob zobrazení je v obou případech stejný.
Je-li modul řádně nakonfigurován, tj. nastaveny formátovací styly apod., stačí pro vytvoření takové ankety spojené se zprávou zadat v sekci Data modulu otázku a možné odpovědi a zadat ID zprávy, ke které se anketa vztahuje, vše ostatní již zafunguje v prezentační vrstvě automaticky.
Pokud chceme umístit anketu na libovolnou stránku (např. na úvodní stránku www prezentace), která je typicky staticky generovaná, postup je o něco složitější. Do stránky je třeba vložit kompletní hlasovací formulář, kde se již nemůže měnit ve chvíli žádosti o zobrazení je na stránku pevně generován. Zde se využívá funkce, která z anketního formuláře vytvoří novou zprávu WebToDate, která v těle obsahuje kompletní HTML kód formuláře. Cílová stránka tohoto formuláře pak musí být PHP skript pro zobrazení jedné ankety, který započte hlas a zobrazí výsledky hlasování. Funkce je znázorněna na následujícím diagramu.
[[Image:]]
Modul umožňuje definovat více souborů grafických nastavení (tzv. Předpisů), pro každou anketu zvlášť se pak volí z nabídky připravených předpisů. Díky tomu lze na jedné webové prezentaci používat více způsobů zobrazení anket a kombinovat ankety svázané se zprávou s anketami samostatnými, které se umísťují na kterékoliv stránce prezentace.
Co je nového
Verze 4.0.1.6 modulu
Skript /scripts/modules/vote/vote.php může využívat parametr patternid, kterým se vynucuje předpis, který se použije pro zobrazení ankety. V rámci předpisu je uveden styl před / po hlasování i předloha, lze tak tedy kompletně předefinovat zobrazení dané ankety.
Verze 4.0.1.3 modulu
V modulu lze nově vytvořit jednoúrovňový seznam vlastních kategorií (nezávislý na stromu kategorií WebToDate). Každá anketa může být volitelně zařazena do jedné kategorie.
Podle kategorií lze v administračním rozhraní modulu vyhledávat, rovněž lze ale v prezentační části vypsat seznam starších anket s omezením na danou kategorii.