Drupal: Назначить блок к определенному типу контента
-
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
}
?>
Это должно работать ....
Вы можете использовать контекстный модуль