¿Es posible pasar parámetros mediante programación a un bloque?
8
Según la otra respuesta , los bloques son 'tontos' y no tienen la capacidad de tener argumentos 'pasados'. Sin embargo, pueden tomar argumentos del contexto de la página, como ID de nodo, usuario actual, etc.
Tienes dos opciones 'fáciles' realmente:
No puede pasar nada programáticamente a un bloque AFAIK. Puede permitir que un bloque sea configurable (usando hook_block_configure en D7). Alternativamente, podría crear su propia función de tema, y puede pasar argumentos a eso. ¿Qué es lo que estás tratando de hacer?
fuente
Configure el filtro contextual, elija "Proporcionar valor predeterminado" type => "código php" y use el argumento que desee. Ej: return arg (1);
fuente
Para el caso especializado (pero generalizado) en el que su bloque es una visualización de una Vista, puede usarlo
views_embed_view
para representar el bloque con los parámetros que obtiene a través de los filtros contextuales de la Vista (es decir, normalmente desde la URL).Por ejemplo:
Cualquier parámetro después del segundo se pasará como valores de filtro contextual al bloque.
Fuente: Reescrita a partir de esta respuesta por David Thomas , con licencia CC-BY-SA 3.0
fuente