Profil katalogu
Profil katalogu
Pomocí profilu lze určovat specifické chování pro daný katalog. Aktuálně lze ovlivnit například:
- zobrazení hlavního menu v AR,
- zobrazení statistiky objednávek na dashboardu v AR,
- publikace katalogu.
Zkopírovat odkaz na sekciZákladní profily
V jádru EdeeShop modulu jsou definováno tyto tři profily: base (výchozí), origin, alias.
Zkopírovat odkaz na sekciProfil base
Tento profil nemá žádná specifika a v podstatě nijak neovlivňuje chování systému. Profil je vhodný pro jedno-katalogová řešení (tedy bez použití aliasů).
Jedná se o výchozí profil, který je použitý v případě, že není konfiguračně určen jiný profil.
Zkopírovat odkaz na sekciProfil origin
Tento profil je vhodný pro "katalog produktových předloh", více zde.
Tedy profil se hodí pro více-katalogová řešení, kde je jeden katalog určený pro sdílenou správu produktů a souvisejících dat, zatímco jiné katalogy (s profilem nebo i bez profilu 'alias') jsou určeny pro frontendovou část.
Pro katalog s tímto profilem se pak například v menu nezobrazují položky pro objednávky, benefity apod. V tomto katalogu také neprobíhá publikace dat, protože takový katalog nemá frontendovou část.
Zkopírovat odkaz na sekciProfil alias
Tento profil doplňuje předchozí profil origin a je vhodný pro katalogy, které mají frontendovou část.
Pro katalog s tímto profilem se pak v menu nezobrazují položky, které pro "alias" katalog nedávají smysl, např. definice skladů.
Pro katalogy s tímto profilem se také nezakládají automaticky sklady (pro ostatní profily katalogů se automaticky založí sklad pokud žádný neexistuje).
Zkopírovat odkaz na sekciVytvoření vlastního profilu
EdeeShop umožňuje definovat vlastní profily. Pro registraci nového profilu slouží metoda CatalogFeature#registerCatalogProfile(java.lang.String).
Chování všech profilů se následně specifikuje při startu jednotlivých feature, konkrétně v metodě AbstractBaseEdeeShopFeature#initCatalogProfiles.
Zkopírovat odkaz na sekciRozšíření vlastností profilu
Objekt profilu lze dynamicky rozšiřovat o další vlastnosti pomocí traitů (interface rozšiřující com.fg.eshop.catalog.model.CatalogProfile).
Trait se registruje pomocí metody CatalogProfile#registerTrait.
Příklad:
1 public interface WithOrderProfile extends CatalogProfile {2 boolean isOrderTreeNodeHidden();3 void setOrderTreeNodeHidden(boolean hidden);4}5 6CatalogProfile.registerTrait(WithOrderProfile.class);
Konkrétní profile je následně možné načíst pomocí metody com.fg.cps.eshop.catalogEntity.CatalogFeature#getCatalogProfile, kde na vstupu metodu je kód profilu a trait, ve kterém chceme profile získat.
Načtení kódu profilu pro konkrétní katalog je možné pomocí metody com.fg.cps.eshop.catalogEntity.model.Catalog.getProfile().