Блоки, видимость которых управляется через роли, список URL, при помощи Region Visibility (те же url) или через CCK Blocks – это замечательно, но мало. Далее я хочу рассказать, как добавить блок в зависимости от типа контента и вывести туда содержимое CCK поля.
Вводная
Варианты управления зависимостью блоков от содержимого в drupal следующие:
- Настройка зависимости каждого блока через роли, URL, их комбинации или хардкод условий на php;
- Настройка видимости блоков через модуль Region Visibility;
- Использование модуля CCK Blocks, который создает по блоку на каждое CCK поле, имеющееся в наличии
- Использование мозга и смекалки;
На последнем варианте я остановлюсь подробнее.
Ингридиенты
Нам понадобится две столовые ложки CCK и очищенные от скорлупы Views. И, в принципе, всё.
Рецепт
Во-первых, необходимо создать требуемые поля CCK в требуемых типах контента. Можно добавить несколько полей.
Далее необходимо создать новый объект Views, указать его наименование и прочие необходимые для Вас параметры.Также можно использовать существующий объект VIews и добавить в него блок, но при этом следует иметь в виду, что придется делать Override (переопределение) для всех перечисленных ниже параметров объекта.
Тонкая настройка
- В фильтры необходимо добавить нужный тип контента и другие требуемые условия (например, "Опубликовано" - "Да").
- В список полей необходимо добавить поле, которое необходимо выводить в блок.
-
Необходимо добавить аргумент Материал: Nid и оформить его следующим образом:
.jpg)
- Добавить представление "Блок" (не требуется если изменялся существующий объект Views и блок уже был добавлен). Переименовать по вкусу. Сохранить, проверить на отсутствие сообщений об ошибках.



