No Drupal 6, eu podia controlar a visibilidade do bloco usando o código PHP na configuração da interface do usuário do bloco, como:
<?php return MYMODULE_abc() || MYMODULE_def() ; ?>
Essas funções procuraram o nó atual, taxonomia etc. para decidir se o bloco seria exibido. Esta opção do PHP desapareceu no Drupal 8, mas há um $visibility
campo no BlockBase
. Posso usar isso para definir programaticamente a visibilidade em tempo de execução?