Kategorie
Základní funkčnost kategorií nevyžaduje žádnou konfiguraci ani není nutné tuto funkčnost explicitně zapínat, tedy konfigurace je nepovinná.
Konfigurační soubor se standardně nachází v adresáři config/module-edeeshop/features/catalog/category.xml a definuje se v elementu <category/>.
Příklad konfigurace
<category> <contentBlockConfig> <blocks> <block/> </blocks> </contentBlockConfig> <fulltextConfig> <providers> <provider> <builder> <dataList> <data> <dataName/> <dataValue/> </data> </dataList> <defaultBoost/> <gallery/> <indexedProperties> <indexedProperty/> </indexedProperties> <promoKeywords> <promoKeyword/> </promoKeywords> <searchByTitle/> <variables> <variable/> </variables> <variantId/> </builder> <query/> <type/> </provider> </providers> <sections> <section> <analyzer/> <fieldAnalyzers> <fieldAnalyzer> <analyzer>czech-edee-summon</analyzer> <field>title</field> </fieldAnalyzer> </fieldAnalyzers> <fragment/> <providers> <provider/> </providers> <regions> <region> <country>CZ</country> <currency>CZK</currency> <locale>cs</locale> </region> </regions> <sitemapId/> </section> </sections> </fulltextConfig> <mediaConfig> <mediaList> <media/> </mediaList> </mediaConfig> <tagConfig> <tags> <tagType/> </tags> </tagConfig> <urlConfig> <rules> <rule/> </rules> </urlConfig> <catalogSpecific> <catalogCode/> <fulltextConfig> <providers> <provider> <builder> <dataList> <data> <dataName/> <dataValue/> </data> </dataList> <defaultBoost/> <gallery/> <indexedProperties> <indexedProperty/> </indexedProperties> <promoKeywords> <promoKeyword/> </promoKeywords> <searchByTitle/> <variables> <variable/> </variables> <variantId/> </builder> <query/> <type/> </provider> </providers> <sections> <section> <analyzer/> <fieldAnalyzers> <fieldAnalyzer> <analyzer>czech-edee-summon</analyzer> <field>title</field> </fieldAnalyzer> </fieldAnalyzers> <fragment/> <providers> <provider/> </providers> <regions> <region> <country>CZ</country> <currency>CZK</currency> <locale>cs</locale> </region> </regions> <sitemapId/> </section> </sections> </fulltextConfig> <mediaConfig> <mediaList> <media/> </mediaList> </mediaConfig> <tagConfig> <tags> <tagType/> </tags> </tagConfig> <urlConfig> <rules> <rule/> </rules> </urlConfig> </catalogSpecific></category>
Popis
category
Konfigurace kategorií.
Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| contentBlockConfig/blocks/block | Seznam obsahových bloků. Aby byly obsahové bloky pro tento typ entit povoleny, musí být definován alespoň jeden obsahový blok. Pokud již existuje schéma v evitaDB, zapnutí této feature vyžaduje FULL reindexaci evitaDB. Tuto vlastnost nelze nastavit specificky pro konkrétní katalog. Více zde. |
|
| |
| fulltextConfig/providers/provider | Konfigurace providerů poskytující data publikovaných entit pro fulltext indexaci dané sekce (FulltextSectionConfig#getProviders()). |
|
| |
| fulltextConfig/sections/section | Seznam konfigurací fulltext sekcí. Na základě této konfigurace se následně vytvářejí sekce, které se registrují do fulltext modulu. Také se automaticky zaregistrují providery, poskytující data o publikovaných entitách pro potřeby fulltextu. V případě, že je seznam prázdný, tak se entita nebude indexovat, tedy nebude vyhledatelná přes fulltext. Více o konfiguraci fulltextu zde. |
|
| |
| mediaConfig/mediaList/media | Konfigurace médií pro daný typ entity. Konfigurace se po inicializaci registruje do |
|
| |
| tagConfig/tags/tagType | Konfigurace štítků. Jedná se o seznam, který primárně obsahuje systémové id kategorie štítků. V rámci entity je pak možné pracovat se štítky, které jsou zařazeny do těchto kategorií (pozor nejedná se o kategorie produktů, ale kategorie štítků). Konfigurace dále obsahuje informaci, zda se tyto štítky mají publikovat nebo zda se mají zobrazit ve filtru produktů na FE. |
|
| |
| urlConfig/rules/rule | Pravidla pro generování URL pro entity e-shopu, které mají na FE svůj vlastní detail, tedy produkty, kategorie, značky, skupiny. Pravidla se aplikují v pořadí, ve kterém jsou definována. Url se vygeneruje pro první pravidlo, pro které je splněna podmínka a zároveň se podaří vygenerovat url. Pokud nejsou definována žádná pravidla, tak se použije výchozí pravidlo, které obsahuje tyto 3 vzory:
Tedy nejprve se URL generuje z názvu. Pokud se to nepodaří, tak se url generuje z katalogového čísla. Poslední pokus je generování URL z kódu. Standardně se však url vygeneruje vždy z názvu. |
|
| |
| catalogSpecific | Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde. |
|
|
fulltextConfig/providers/provider
Konfigurace providerů poskytující data publikovaných entit pro fulltext indexaci dané sekce (FulltextSectionConfig#getProviders()).
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| builder | Konfigurace vytváření fulltext indexu |
|
| |
| query | Query ovlivňující načtení kategorií, které má provider poskytnout k indexaci. Pokud je |
|
| |
| type | Identifikace provideru pro fulltext modul. Identifikátor musí být unikátní napříč všemi providery ve všech katalozích. Dle této hodnoty se mapují providery definované v rámci sekcí v atributu | String |
|
|
builder
Konfigurace vytváření fulltext indexu
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| dataList/data | Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu zapíší do Ve výrazu lze přistupovat přímo k publikované entitě. Příklady výrazu:
Ve výchozím nastavení se do data ukládá id entity, pod klíčem |
|
| |
| defaultBoost | Výchozí boost dokumentů. Výpočet boost lze projektově ovlivnit pomocí vlastní implementace com.fg.cps.eshop.catalog.cps.fulltext.service.FulltextResourceBoostResolver. Tuto implementaci následně stačí registrovat do aplikačního kontextu. | float |
|
|
| gallery | Kód galerie, která se použije při získávání url obrázku, které se exportuje pro každý produkt v sitemap. | String |
|
|
| indexedProperties/indexedProperty | Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu indexují. Podle těch hodnot fulltext vyhledává entity. Ve výrazu lze přistupovat přímo k publikované entitě. Příklady výrazu:
| String |
|
|
| promoKeywords/promoKeyword | Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu indexují jako Ve výrazu lze přistupovat přímo k publikované entitě. Příklady výrazu:
Výchozí hodnota je "getLocalizedTextByCode("fulltextKeywords")". | String |
|
|
| searchByTitle | Fulltext ve výchozím nastavení vyhledává podle názvu dokumentů, v případě e-shopu např. podle názvu produktů.
Toto chování je možné vypnout pomocí tohoto atributu, kdy pro vypnutí nastavte hodnotu na | Boolean |
|
|
| variables/variable | Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu zapíší do Ve výrazu lze přistupovat přímo k publikované entitě. Příklady výrazu:
| String |
|
|
| variantId | kód varianty obrázku, která se použije při získávání url obrázku, které se exportuje pro každý produkt v sitemap | String |
|
|
dataList/data
Seznam výrazů (SpEL), které vrací hodnoty, které se pro danou entitu zapíší do data.
Výraz je definován hodnot pro klíč
Tyto data jsou uložena u výsledků fulltext pro následné použití (více viz dokumentace fulltext modulu).
Ve výrazu lze přistupovat přímo k publikované entitě.
Příklady výrazu:
'productType'- textová hodnota pro klíčproductTypepod kterým bude hodnota uložena v datech.subType.name-catalogNumber-
Ve výchozím nastavení se do data ukládá id entity, pod klíčem id.
Pro produkty pak dále typ produktu, kód master produktu a kód pod kterým se mají seskupovat varianty.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| dataName | Výraz (SpEL), který vrací název data, tedy klíč pod kterým bude hodnota z výrazu | String |
|
|
| dataValue | Výraz (SpEL), který vrací hodnotu data, která se uloží pod klíčem | String |
|
|
fulltextConfig/sections/section
Seznam konfigurací fulltext sekcí. Na základě této konfigurace se následně vytvářejí sekce, které se registrují do fulltext modulu. Také se automaticky zaregistrují providery, poskytující data o publikovaných entitách pro potřeby fulltextu.
V případě, že je seznam prázdný, tak se entita nebude indexovat, tedy nebude vyhledatelná přes fulltext.
Více o konfiguraci fulltextu zde.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| analyzer | Analyzer fulltext modulu, pokud není uvedeno, tak se použije analyzer dle jazyku aktuálního regionu nebo katalogu. Konkrétně:
Seznam podporovaných analyzátorů je uveden v zde. Pokud je potřeba specifikovat analyzátor pro jednotlivá pole dokumentu, použijte | String |
|
|
| fieldAnalyzers/fieldAnalyzer | Definice analyzátorů pro jednotlivá pole fulltext dokumentu. Pokud není definováno, použije se analyzátor uvedený v |
|
| |
| fragment | Identifikátor sekce v rámci katalogu a regionu. Musí být unikátní. Povinná hodnota.
Typickým příkladem hodnoty je: Pozn.: Název sekce (=identifikátor) se generuje podle klíče: | String |
|
|
| providers/provider | Seznam poskytovatelů (přesněji jich Povinná položka. | String |
|
|
| regions/region | Seznam regionů, pro které se má sekce generovat. Pokud není uvedeno, generují se sekce pro všechny regiony v rámci daného katalogu. |
|
| |
| sitemapId | ID sitemap. Více zde: https://edee.dev/cs/git/fulltext/sections/sitemap-generating/microsites.md | String |
|
|
fieldAnalyzers/fieldAnalyzer
Definice analyzátorů pro jednotlivá pole fulltext dokumentu.
Pokud není definováno, použije se analyzátor uvedený v #analyzer.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| analyzer | Název analyzátoru, který se má použít pro dané pole. Povolené názvy analyzátorů jsou ty, které jsou definovány v Seznam podporovaných analyzátorů je uveden v zde. | String |
|
|
| field | Název pole fulltext dokumentu, ke kterému se analyzátor přiřazuje. Seznam povolených názvů polí je uveden v | String |
|
|
regions/region
Seznam regionů, pro které se má sekce generovat. Pokud není uvedeno, generují se sekce pro všechny regiony v rámci daného katalogu.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| country | Kód země (ISO 3166 - 2 znaky). Povinná hodnota. | String |
|
|
| currency | Měna regionu ( ISO 4217 - 3 znaky). Povinná hodnota. |
|
| |
| locale | Kód jazyka (ISO 639 - 2 znaky). Povinná hodnota. |
|
|
Media
Ke kategoriím lze definovat média, typicky se jedná například o hlavní motiv. Konfigurace medií je popsána zde.
URL
U kategorie lze definovat pravidla, podle kterých se generuje frontendové URL, na kterém se bude nacházet detail kategorie. Konfigurace url je popsána zde.
Štítky
K entitám lze přiřazovat štítky a aby to bylo možné, je nutné v konfiguraci povolit, které štítky lze takto přiřadit.
Konfigurace štítků je popsána zde.
Rozšířený datový model
Kategorie lze projektově rozšířit o další vlastnosti. Jak toho docílit je popsané zde.
