Všechny výše uvedené kombinace je samozřejmě možné v Drupalu řešit a dobrou zprávou je, že k tomu ani nemusíte psát vlastní modul s pluginem řešící nastavení viditelnosti. Jakkoli to není v Drupalu 8/9 složité.
Abyste byli schopni pokročilé kombinace naklikat, je nutné do Drupalu doplnit modul nazvaný Block Visibility Groups. V článku budu ještě ukazovat možnost nastavení bloku na základě termínu spojeného s článkem, což řeší rozšíření Block Visibility Groups nazvané Term condition.
Protože nastavení tohoto modulu nemusí být úplně jasné na první pohled a ani se mi nevešel do knihy 333 tipů a triků pro Drupal 9, pojďme se na něj podívat krok za krokem.
Jak nastavit viditelnost bloků pro uživatele, kteří nejsou v konkrétní uživatelské roli
Řekněme, že máte uživatelskou roli na e-shopu pojmenovanou VIP. A blok budete chtít zobrazit všem uživatelům, kteří nejsou v této roli. Jistě, v základu v Drupalu naklikáte, kdo může blok vidět. Jenže se tu v daném požadavku bije skutečnost, že blok chcete zobrazit i přihlášenému uživateli bez role. Pokud byste blok zapnuli pro přihlášené, pak ho VIP uvidí automaticky, protože jsou zkrátka i v roli přihlášených. A to je scénář, kde nastupují Block Visibility Groups.
Jak zobrazit blok pro články v určité kategorii
V posledních týdnech jsem několikrát řešil potřebu zobrazení bloku u článků nebo stránek, pokud jsou spárovány s určitou kategorií. Konkrétně například bloky s rychlým kontaktem, který byl upraven podle toho, zda stránka pojednává o té či oné firemní činnosti.
V základu to Drupal nedovede, Block Visibility Groups k tomu potřebuje zmíněné rozšíření Term condition. Poté je postup už podobný, jako uvádím výše.
Tedy připravíte nové pravidlo, tentokrát vyberete nastavení podmínky na základě Termínu a pomocí automaticky dokončovacího políčka tento termín vyhledáte. Uzel, kterého se to týká, definujete jako Node from URL. Pravidlo pak jenom spárujete v nastavení konkrétního bloku.
Určitě na Block Visibility Groups koukněte. Je stabilní pro Drupal 8 i 9, jeho vydání pokrývá Security Team a kromě zmíněného rozšíření pro termíny k němu vznikly i rozšíření pro tokeny nebo slovníky.
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.
Přidat komentář