Jak jsem se mořil s memberof v MODX 2.x

Po delší době jsem opět v MODX Revolution 2.2.14 použil output modifier „memberof“ pro zjištění, zda je přihlášen uživatel a zda je členem jedné konkrétní skupiny uživatelů. A stejně jako kdysi to zlobilo. Pouze to rozlišovalo, že je někdo přihlášen a netestovalo to, zda-li je členem dotazované skupiny uživatelů.

Tentokrát jsem se nespokojil s polovičatým řešením a důkladně jsem to otestoval. A nefungovalo to. Modifikátor vždy pouze vracel co se do něho dalo – a tím pádem pouze rozlišoval jestli je někdo přihlášen nebo není a netestovalo to členství v konkrétní skupině. Podotýkám, že jsem použil způsob volání z dokumentace:

[[+modx.user.id:memberof=`Administrator`]]

Tak jsem nahlédl do zdrojového kódu, jak je modifikátor implementován. A přišel jsem na to! Některé output modifiers jsou implementovány tak, že generují výstup a některé output modifiers jsou implementovány tak, že vytvářejí podmínky a jejich vyhodnocení se provádí až v případě modifikátoru „then“ nebo „else“.

Takže správné použití je takto:

[[+modx.user.id:memberof=`Administrator`:then=`jsi admin!`:else=`nejsi admin!`]]
Příspěvek byl publikován v rubrice MODX Revolution. Můžete si uložit jeho odkaz mezi své oblíbené záložky.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *