É possível passar programaticamente parâmetros para um bloco?
8
Pela outra resposta , os blocos são "burros" e não têm a capacidade de ter argumentos "passados". No entanto, eles podem obter argumentos do contexto da página, como IDs de nós, usuário atual etc.
Você tem realmente duas opções 'fáceis':
Você não pode passar nada programaticamente para um bloco AFAIK. Você pode permitir que um bloco seja configurável (usando hook_block_configure em D7). Como alternativa, você pode criar sua própria função de tema e passar argumentos para isso. O que você está tentando fazer?
fonte
Para configurar o filtro contextual, escolha "Fornecer valor padrão", digite => "código php" e use o argumento desejado. ex: retornar arg (1);
fonte
Para o caso especializado (mas generalizado) em que seu bloco é uma exibição de uma Visualização, você pode usar
views_embed_view
para renderizar o bloco com os parâmetros que ele obtém através dos filtros contextuais da Visualização (ou seja, normalmente a partir da URL).Por exemplo:
Quaisquer parâmetros após o segundo serão passados como valores de filtro contextual para o bloco.
Fonte: Reescrita a partir desta resposta por David Thomas , licenciado CC-BY-SA 3.0
fonte