2010-04-20 2 views
2

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

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

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

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

ответ

1

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

+0

Блестящий! ! ! ! – bert

+0

... но не практично. У меня более 500 узлов этого типа сейчас и еще сотни. Есть ли другой подход? – bert

+0

Почему это не практично? Вы можете удалить любые псевдонимы url, которые вы установили для узлов, а затем объединить псевдонимы для всех из них сразу, используя шаблоны замещения пути. Обычно что-то вроде mynode/[title-raw] '. – Finbarr

7

В Drupal 6 вы можете настроить параметры видимости блоков. Нажмите ссылку «configure» рядом с вашим блоком в бэкэнде администратора и выполните следующие действия:

1) Выберите «Показать, возвращает ли следующий код PHP значение TRUE (только в режиме PHP, только эксперты)» под заголовком ' Страница параметров видимости страницы.

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 
    } 
?> 

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

+3

Сторона примечания: это было возможно с Drupal 4.7. Дополнительные сведения об использовании PHP для видимости блоков и много примеров кода см. По адресу http://drupal.org/node/60317. – marcvangend

2

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

Смежные вопросы