2010-08-21 2 views
9

Как назначить блок (тот же блок) дважды или три раза в разные регионы? Идея не иметь один и тот же блок на той же странице больше, чем один раз, но в разных местах на разных страницах, так что четыре «отображает» будет доступен:Назначить блок более чем одному регистру

  • Блок X в $ TOP_LEFT области
  • Блок X в $ TOP_RIGHT области
  • Блок X в above_content области $
  • Блок X скрыт

Где она должна быть расположена, должна быть столь же просто, как добавление узла путей в textare, верно? Я понимаю, что это так ...

Если это модуль (пожалуйста, бог нет, не нужен еще один модуль!), Я хотел бы получить несколько подробностей.

Спасибо.

+0

Какой метод вы используете, чтобы определить, на какой странице вы находитесь, и, следовательно, где будет отображаться блок? Например, хотите ли вы показывать блок в другом месте по типу контента/узла? Или на основе части URL? – CitrusTree

+0

CitrusTree, страницы/местоположения достаточно информации. Это то, что я использую для блоков. Иногда даже только и [остальное]. Так на основе URL. Как и в текстовой области, которая является стандартной на странице стандартных блоков. – Rudie

+0

Модуль http://drupal.org/project/multiblock выполняет эту работу. – gagarine

ответ

13

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

Итак, предположим, что вы хотели показать Block X на первой странице, и когда пользователь вошел в систему. Если это первая страница Блок X в области 1, но когда пользователь регистрируется in, Блок X находится в Регион 2.

Вы бы создать два контекст:

  1. Условия: ли Front Page, Пользователя анонимный Реакция: Show Block X в области 1
  2. Условия: это авторизован Пользователя в, Реакции Показать блок X в Районе 2

Я обобщаю здесь, но вы увидите, какие условия и реакции доступны для использования при установке Context.

+0

Я слышал о Context, но не смог найти, где настроить эти блоки. Я понимаю условия. Очень ясно. Похоже, что это был основной модуль Drupal. Где я могу найти интерфейс Context? :) Спасибо – Rudie

+0

Если вы его загрузили, кроме * Контекста *, вам нужно включить * Контекстный интерфейс *.Затем вы можете получить доступ к пользовательскому интерфейсу на * Site Building * -> * Context *. – 2010-08-23 07:26:38

+0

Кстати, я пытался Контекст, но есть конфликт или что-то, если вы используете Zen как basetheme (и есть исправление, которое я использовал, и теперь мне нравится Context!) – Rudie

0

Мы можем использовать Multiblock module вместо использования контекста. Это служит вашей цели лучше

+0

Контекст был идеален. У Multiblock есть новые moddelta, поэтому класс блоков и т. Д. Также нужно дублировать. – Rudie