Ao ativar o módulo principal do Filtro PHP, posso usar o código PHP para definir a visibilidade de um bloco na página de configuração do bloco.
Mas não quero habilitar o módulo de filtro PHP para medida de segurança. Então, existe uma maneira de fazê-lo no módulo personalizado ? Não consigo encontrar um gancho para fazê-lo. E um gancho próximo hook_block_view_alter
só pode alterar o conteúdo do bloco.
O módulo de visibilidade do bloco Rules é outra alternativa disponível ... que não requer que o filtro PHP esteja ativado . Aqui está uma citação de sua página do projeto:
Além disso, conforme a seção " se você pode fazê-lo com regras, pode usá-lo para controlar a visibilidade do bloco " acima, você tem o poder das regras disponíveis para implementar todos os tipos de lógica personalizada (cfr. A parte "programaticamente / módulo personalizado" da sua pergunta).
Para uma ilustração de como usar este módulo, consulte a minha resposta em " Como impedir que um bloco Views seja exibido para administradores, como user / 1? ".
fonte