Решено!!! Как в своем модуле для одного типа материала исключить вывод блока в зависмости от значения поля в этом материале

Главные вкладки

Аватар пользователя iNFerNo iNFerNo 1 ноября 2012 в 16:15

Создал блок (функционал из коробки д7) - выставил страницы на которых нужно выводит его.

в том числе вывожу на страницах типа question/nid_материала.html (question/*)

но мне нужно что бы блок не выводился. на некоторых страницах (question/*) не выводить.

не вывод ограничивается вкл. чебоксом добавленного поля. можно ли через свой модуль скрывать блок у таких нод (с вкл чекбоксом).

решит ьможно написав код в пхп поле у блока. но хочется через свой модуль.

Комментарии

Аватар пользователя rimen rimen 1 ноября 2012 в 20:55

тогда остается просветляться в темном лесу )

UPD: для примера можно посмотреть node - в нем реализуется фильтр блоков по типам контента через вышеуказанный хук.

Аватар пользователя rimen rimen 3 ноября 2012 в 13:27

елки, если тривиально, то как-то так

<?php
function mymodule_block_list_alter(&$block_list){
 
$my_block_id '1'
 if (
arg(0) == 'node' && is_numeric(arg(1)) && $node node_load(arg(1))){
   
$suppress FALSE;
   
// твои две строчки
   // $suppress = TRUE - FALSE;

   

if ($suppress){
     unset(
$block_list[$my_block_id]);
   }
 }
 
}

?>