Drupal 7: отображать разные боковые панели в зависимости от типа контента - PullRequest
2 голосов
/ 15 апреля 2011

Итак, у меня есть три разных блока внутри моей правой боковой панели. То, что я хотел бы сделать, это изменить то, что отображается на основе типа контента. Я новичок в Drupal, и из того, что я вижу в списке доступных переменных, у меня нет возможности увидеть, какой тип контента я использую при настройке block.tpl.php. Возможно ли это?

Ответы [ 3 ]

1 голос
/ 15 апреля 2011

Я бы рекомендовал использовать Модуль контекста , чтобы определить разные "контексты" для разных типов контента. Каждый контекст можно затем настроить для отображения разных блоков.

Другой альтернативой является модуль Panels , но Panels делает намного больше и, следовательно, имеет более сложный интерфейс, поэтому новичкам может быть сложно освоить.

0 голосов
/ 17 апреля 2011

Если вы хотите использовать только 1 блок, вы можете добавить код для получения типа узла:

<?php
if (arg(0) == 'node') {
  $node = node_load(arg(1));
}
?>

И теперь вы можете получить доступ к типу с помощью: $ node-> type

Если вы собирались с 3-мя отдельными блоками ...

Установите автоматический путь (http://drupal.org/project/pathauto)

Установите разные пути вашего узла. В этом примере я буду использовать статьи и продукты кактипы контента:

Статьи: статьи / [title-raw] Продукты: продукты / [title-raw]

Затем настройте отображение блоков на основе пути URL.

Для вашего блока статей используйте: Articles / * Для вашего блока продуктов используйте: products / *

0 голосов
/ 16 апреля 2011

Нет необходимости в дополнительном модуле в Drupal 7. Когда вы редактируете блок (в CMS, а не в файле шаблона), посмотрите на « Настройки видимости » в разделе « Содержимое». Типы"

Здесь вы можете указать, какие типы отображать блок.

Примечание. Если ни один из них не выбран, он будет доступен для каждого типа контента.

...