Назначьте блок более чем на 1 регион

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

  • Блок X в области $ top_left
  • Заблокируйте X в области $ top_right
  • Заблокируйте X в области $ above_content
  • Блок X скрыт

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

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

Спасибо.


person Rudie    schedule 21.08.2010    source источник
comment
Какой метод вы хотите использовать, чтобы определить, на какой странице вы находитесь, и, следовательно, где будет отображаться блок? Например, вы хотите, чтобы блок отображался в другом месте по типу содержимого / узла? Или на основе части URL?   -  person CitrusTree    schedule 21.08.2010
comment
Модуль drupal.org/project/multiblock выполняет эту работу.   -  person gagarine    schedule 21.08.2010
comment
CitrusTree, на странице / местонахождении достаточно информации. Вот что я использую для блоков. Иногда даже только ‹front› и [остальные]. Итак, на основе URL-адреса. Как и в случае с текстовым полем, стандартным на странице стандартных блоков.   -  person Rudie    schedule 23.08.2010


Ответы (2)


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

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

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

  1. Условия: Первая страница, Пользователь анонимен, Реакция: Показать блок X в области 1
  2. Условия: Пользователь вошел в систему, реакции Показать блок X в области 2

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

person Community    schedule 21.08.2010
comment
Я слышал о контексте, но не мог найти, где установить эти блоки. Я понимаю условия. Очень ясно. Похоже, это должен был быть основной модуль Drupal. Где я могу найти интерфейс контекста? :) Спасибо - person Rudie; 23.08.2010
comment
Если вы его загрузили, помимо Context вам необходимо включить Context UI. Затем вы можете получить доступ к пользовательскому интерфейсу в Site Building - ›Context. - person ; 23.08.2010
comment
Между прочим: я пробовал Context, но есть конфликт или что-то в этом роде, если вы используете Дзен в качестве базовой темы (и есть исправление, которое я использовал, и теперь мне нравится Context!) - person Rudie; 14.09.2010

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

person Amey Mudras    schedule 22.04.2014
comment
Контекст был идеальным. Multiblock имеет новые moddelta, поэтому класс блока и т. Д. Также должен быть продублирован. - person Rudie; 23.04.2014