Drupal: Назначить блок к определенному типу контента

StackOverflow https://stackoverflow.com/questions/2678178

  •  30-09-2019
  •  | 
  •  

Вопрос

Я сделал индивидуальный шаблон под названием Node-mynode.tpl.php всякий раз, когда требуется узел типа Mynode, то Node-mynode.tpl.php автоматически используется автоматически.

Однако теперь пользователь хочет увидеть конкретный блок меню в этом случае.

Вопрос: Как я могу назначить блок к определенному типу контента?

Подсказка: я начал смотреть на псевдонимы URL с Pathauto. Я подозреваю, что один раствор может лежать в этом направлении.

Это было полезно?

Решение

Дать все ваши mynode Тип узлов Автоматический псевдоним, который начинается с /mynode и использовать страницу определенные настройки видимости для блока, показывая только на страницах, которые начинаются с /mynode/*.

Другие советы

В Drupal 6 вы можете настроить настройки видимости блоков. Нажмите на ссылку «Настроить» рядом с блоком в Backend администратора и следуйте этим шагам -

1) Выберите «Показать, если следующий PHP код возвращает TRUE (PHP-MODE, Experts), вкладка« Настройки настроек видимости Page ».

2) Введите следующий PHP-код, который проверяет тип узла текущего узла и возвращает True соответственно -

<?php 
   if( arg(0) != 'node' || !is_numeric(arg(1)) )
   { return FALSE;
   }

   //load a fully-populated Drupal node object
   $temp_node = node_load(arg(1));

   if( $temp_node->type == 'mynode' )       //check the node type
   {   return TRUE;    //display block
   }
?>

Это должно работать ....

Вы можете использовать контекстный модуль

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top