Considere un módulo desiertos:
- Página 1:-
deserts/*
- página 2:-
deserts/*/*
- página 3:-
deserts/*/*/*
Un contenido dinámico ...
Tengo tres bloques, a saber, a, byc:
- El bloque a debe mostrarse solo en la página1
- El bloque b debe mostrarse solo en la página2
- El bloque a debería mostrarse solo en la página3
¿Cómo debería hacer esa restricción?
desert/*/*/
desert/*/edit
mi bloque debería mostrar para todos los quedesert/*/*
no lo son.desert/*/edit
En tal caso, no funciona para mí ..*
significa comodín. Por lo que pide una solución en la que aparece el bloque paradesert/*/*
implica que debe presentarse paradesert/*/edit
o, para el caso,desert/*/whatever
.Respuestas:
Usa el módulo de contexto . Aunque generalmente no soy fanático de este módulo, este es uno de los casos en los que resulta útil.
Agregar una condición para una ruta. Entonces, si quiero un bloque en la página 1, pero no en la página 2 o 3, escribiría las rutas así, una para cada bloque:
Caso 1 - Bloque A
Caso 2 - Bloque B
Caso 3- Bloque C
El ~ significa excluir en este caso. Después de eso, agregue el bloque a la región que desea que se muestre. También puede agregar de nuevo en rutas específicas que de otro modo podrían excluirse, y viceversa.
fuente
Puede usar la opción de visibilidad "Páginas en las que este código PHP devuelve VERDADERO (solo experto)". Pero poner código PHP en la base de datos es, en mi humilde opinión, una mala práctica. En su lugar, considerar el uso de algo así como la visibilidad de bloque extendido módulo o aplicación de
hook_block_list_alter()
tales comoNota: Probablemente haya una forma más inteligente de implementar su regla de visibilidad.
fuente
Debería poder hacer que esto funcione utilizando el módulo de visibilidad del bloque Reglas . Aquí hay una cita de su página de proyecto:
Con eso, y según el " si puede hacerlo con las Reglas, puede usarlo para controlar la visibilidad del bloque " anterior, ha reducido su pregunta a hacer que las Reglas intercepten las diversas URL correspondientes a su página1, página2 y página3.
fuente