Considérons un module déserts:
- Page 1:-
deserts/*
- page 2:-
deserts/*/*
- page3: -
deserts/*/*/*
Un contenu dynamique ...
J'ai trois blocs, à savoir a, b et c:
- Le bloc a doit être affiché uniquement dans la page 1
- Le bloc b doit être affiché uniquement dans la page 2
- Le bloc a ne doit être affiché que dans la page 3
Comment devrait faire cette restriction?
desert/*/*/
desert/*/edit
mon bloc devrait afficher pour tous lesdesert/*/*
pas.desert/*/edit
Dans ce cas, cela ne fonctionne pas pour moi ..*
signifie caractère générique. Donc, demander une solution où le bloc apparaîtdesert/*/*
signifie qu'il devrait apparaître pourdesert/*/edit
ou, d'ailleursdesert/*/whatever
.Réponses:
Utilisez le module de contexte . Bien que je ne sois généralement pas fan de ce module, c'est l'un des cas où il est utile.
Ajoutez une condition pour un chemin. Donc, si je veux un bloc à la page 1, mais pas à la page 2 ou 3, j'écrirais les chemins comme ça, un pour chaque bloc:
Cas 1 - Bloc A
Cas 2 - Bloc B
Cas 3- Bloc C
Le ~ signifie à exclure dans ce cas. Après cela, ajoutez le bloc à la région que vous souhaitez qu'il apparaisse. Vous pouvez également ajouter des chemins d'accès spécifiques qui pourraient autrement être exclus, et vice versa.
la source
Vous pouvez utiliser l'option de visibilité "Pages sur lesquelles ce code PHP renvoie VRAI (expert uniquement)". Mais mettre du code PHP dans la base de données est, à mon humble avis, une mauvaise pratique. Au lieu de cela, envisagez d'utiliser quelque chose comme le module de visibilité de bloc étendu ou l'implémentation de
hook_block_list_alter()
tels queRemarque: Il existe probablement un moyen plus intelligent d'implémenter votre règle de visibilité.
la source
Vous devriez pouvoir faire fonctionner cela en utilisant le module de visibilité du bloc de règles . Voici une citation de sa page de projet:
Avec cela, et selon le " si vous pouvez le faire avec des règles, vous pouvez l'utiliser pour contrôler la visibilité des blocs " ci-dessus, vous avez réduit votre question à faire des règles intercepter les différentes URL correspondant à votre page1, page2 et page3.
la source