Přejít na obsah
Skip to main content

Možnost rychlé nabídky quick-offer

Nastavení roletky rychlé nabídky pro prvek ve formuláři a její specifikace (již zadané, zdrojové, časové omezení atd.).

[test: ...] [; add-list: ...] [; fill-adds: ...] [; sort-by: ...] [; ...-restrict: ...] [; source: ...]

U každé běžné textové kolonky je možné definovat tzv. rychlou nabídku. V podstatě jde o to, že po napsání prvních (většinou 2) písmen do kolonky se uživateli nabídne roletka se seznamem již zadaných hodnot odpovídající právě napsáným počátečním písmenům. Roletka vybírá z již existujících dokumentů z téže kolonky, kde právě uživatel provádí zadání. Jde o způsob jak usnadnit zadávání často se opakujících textů. Tato rychlá nabídka může být definována jak u kolonek s vlastním zdrojem, tak také u kolonek se zdrojem foreign, lexicon nebo initial. Je-li definována u prvku s cizím zdrojem, pak výběr položky ze seznamu roletky uživatelem vždy způsobí také výběr klíče, který již byl v nabídnutém dokumentu zadán a dojde tak k výběru zdrojového dokumentu a jsou naplněny všechny segmenty daného výběrového uzlu.

Roletka má možnost definovat několik vlastností tak, aby účelu a situaci na formuláři co možná nejvíce vyhovovala. Vlastnosti se zadávají v syntaxi známé např. z CSS definice - klíčová slova jsou od hodnot odděleny dvojtečkami a při definování více slov jsou definice vzájemně odděleny středníkem. Zde jsou jednotlivá klíčová slova se svými možnosti, jejichž nastavením je možné upravit potřebné chování:

test: expression/words
add-list: ../sibling, ... | ::/source-path, ...
fill-adds: no/yes
sort-by: value/order/favourite
pure-field: no/yes
division-restrict: no/yes
archive-restrict: no/yes
author-restrict: no/yes
bin-restrict: yes/no
age-restrict: no/#NUMB d[ay]/w[eek]/m[onth]/q[uarter]/y[ear]
top-restrict: no/#NUMB
source: used/selected/foreign/own/all

Podívejme se na jednotlivá klíčová slova nastavení podrobněji.

Nastavení test

Pokud výchozí nastavení změníme uvedením klíčového slova test s hodnotou words (test: words), pak bude v již provedených zadáních vyhledáván nejen celý výraz začínající zadanými znaky uživatele, ale budou do nabídky zařazeny i položky obsahující slova začínající danými písmeny. Zadá-li tak uživatel například písmena "no", pak budou do nabídky zařazeny nejen položky "Novák Josef" apod, ale také položky se zadáním "Josef Novák", což může, tam kde je to zapotřebí výrazně zefektivnit využití rychlé nabídky.

Nastavení sort-by

Toto nastavení určuje způsob seřazení položek na seznamu rychlé nabídky. Výchozí hodnotou, jak je patrné, je slovo value. To zajistí, že seznam bude na roletce řazen běžným abecedním způsobem. Naprotitomu slovo order ponechává v nabídce původní řazení dle toho, jak jednotlivé volby byly do databáze ukládána. Poslední a velmi zajímavou možností je nastavení favourite, které v seznamu roletky zobrazí počet již použitých zadání dané položky a celý seznam roletky pak řadí dle tohoto údaje od nejvyššího k nejnižšímu, tedy od nejoblíbenějších položek k tě nejméně používaným.

Nastavení pure-field

Kombinace výběrového uzlu a roletky rychlé nabídky sebou přináší i nepřehlednou situaci v některých případech - zejm. při mechanismu foreign. Pokud chcete zajistit, aby v souvislosti s výběrem položky rychlé nabídky neproběhl výběr výběrového uzlu, do kterého kolonka spadá, nastavte vlastnstnost pure-field na hodnotu yes (příp. true). Ta zajistí, že hodnota vybraná roletkou provede prosté naplnění kolonky bez ohledu na případné návaznosti na výběrový uzel. V případě použití u kolonky ve výběrovém uzlu s mechanismem foreign toto nastavení způsobí zápis hodnoty do kolonky a tedy i změnu stávajícího či zavedení nového zdrojového dokumentu a nikoli výběr jiného, odpovídajícího, zdroje (pokud není zápis obecně zakázán přístupem uživatele ke kolonce pomocí přístupových úrovní).

Nastavení division/archive/author/bin-restrict

Tato nastavení umožňují omezit vybrané položky nastavením slova yes jen na určitý okruh s tímto významem:

  • division-restrict - jen dokumenty divize, ve které je daný uživatel zařazen

  • archive-restrict - jen nearchivní položky

  • author-restrict - jen položky vytvořené daným uživatlem

  • bin-restrict - jen položky které nejsou v koši (výchozí stav)

Nastavení age-restrict

Nastavení umožňuje omezit výběr nabízených hodnot jen na ty, jejichž vlastnický dokument byl vytvořeny jen například v období uplynulých šesti měsíců. Zápis by vypadal takto:

age-restrict: 6 m případně age-restrict: 6 month

Jednotky uváděné za číslovkou jsou buď ve formě jednoho z klíčových slov day, week, month, quarter či year nebo formou jejich počátečních písmen. Číslice pak musí být celé, nikoli desetinné a nelze je vzájemě kombinovat jako např. 1y 6m (v takovém případě bude brán pouze první údaj a zbytek bude ignorován.

Nastavení top-restrict

Další omezující možnost, která slouží výhradně pro zjednodušení situace. Omezuje maximální počet vrácených položek. Tuto možnost omezení je výhodné kombinovat s řazením položek podle oblíbenosti. Můžete tak získat do roletky například deset nejpoužívanějších položek začínajích danými znaky.

Potenciální vlastnické uzly

Vlastnost quick-offer je možné uvést u následujících uzlů:

  • ElementDef - šablona prvku (kmenová definice) - jako parametr;

  • element - prvek (segment uvnitř definice);

Podřízené stránky

Nastavení add-list

Někdy může být žádoucí, aby byla nabízená položka seznamu roletky blíže identifikována jedním nebo několika dalšími údaji z již zavedeného dokumentu. K tomuto účelu slouží nastavení add-list. Sem je možné vepsat čárkami oddělený seznam relativních odkazů do dokumentu, které začínají tečkou (tedy ./ nebo ../). To nachází využití zejména při spojení rychlé nabídky s výběrovým uzlem, kdy k přesnější identifikaci položky ještě potřebujeme jeden nebo několik dalších údajů. Je-li tedy například předmětem nabídky jméno, mohla by nás např. zajímat také obec trvalého bydliště. V nabídce tak můžeme u položky "Josef Novák" mít rovněž drobnějším písmem v závorce uvedeno "Horní Měcholupy". Toho můžeme docílit přidáním odkazu:

Nastavení fill-adds

Úzce souvisí s uvedením nastavení add-list. Má význam zejména u nevýběrových kolonek, kde pomocí hodnoty yes můžete nastavit spoluvyplňování uvedených sourozenců v momentu použití nabízené položky. Pokud tedy například vybíráme jméno osoby pro dopis a zároveň máme nastaveny kolonky adresy v add-list, pak použitím nabídnutého jména vybereme a vyplníme i adresu této osoby tak, jak byla použita v předchozím dopise a jak je zobrazena v seznamu rychlé nabídky.