Вывод views для типа материала (CCK), в котором содержатся поля с ссылкой на другой тип материала (node reference на CCK)

Главные вкладки

Аватар пользователя svaroha@drupal.org svaroha@drupal.org 11 августа 2010 в 11:29

Добрый день, уважаемые друпаловцы.
Читать много, но я надеюсь, что разбор данной ситуации поможет многим начинающим друпалерам легко строить свою архитектуру на связке CCK, Views, Tag.
Делаю медицинский проект, каталог больниц страны. Необходимо на начальном этапе правильно спроектировать структуру нод, чтобы в дальнейшем можно было просто добавлять дополнительные поля и связки, упростить вывод информации.
Требуемая структура своими словами
Необходимо, чтобы был каталог больниц, каждая больница содержала информацию о своем адресе, главвраче, врачах больницы, входящих отделениях или корпусах, специализация (то есть, что там лечат), фотографии и месторасположение на карте (еще текстовые поля, но они неинтересны).
Отделения должны быть отдельной структурной единицей, то есть для них тоже необходимо выводить и завотделения, и врачей, там работающих, привязку на больницу, в составе которой отделение, специализацию, адрес.
Для врачей - адрес, контактная информация, ссылка на отделения/больницы, где работает, подборка ссылок на публикации в интернете.
Как я вижу реализацию:
Больница - отдельный тип материала, с полями адрес (поле ССК), главрач (поле ССК с ссылкой на врача), специализация - поле с ссылкой на тэг словаря специализаций, фотографии - пока как поле вида filefield.
Отдел - отдельный тип материала, с полями больница - (node reference на больницу), завотделением (node reference на врача), специализация и врачи - тэг и сск соответственно, адрес - node reference на тип адрес.
Врач - отдельный тип материала, поля контактная информация(ССК), специальность - ссылка на тэг, больница, отделение - node reference на больницу и отделение соответственно.
Адрес - отдельный тип материала, поля текстовые, город - ссылка на тэг.
Какие проблемы сейчас есть:
1)Вывод views для больницы. Хочу, чтобы выводилась нода больницы (в списке, например), а к ней цеплялись поля: отделения, которые в ней содержатся, врачи, в ней работающие, главрач, специализация, фотографии.
2)каким образом темизировать ноду больница в режиме редактирования?
3)Как сделать, чтобы при новой ноде Больница, в форме редактирования, для главврача(список выбора из врачей) добавить кнопку "Добавить врача". То есть мы, не закрывая страницы редактирования ноды Больница, добавляем ноду Врач (можно в сплывающем окне, через Ajax, как я понимаю)). Ссылка на только что добавленного врача должна передаться в список выбора главврача, и спозиционироватся на нем (только у врача тоже есть поле сск, где заполняется контактные данные, список его отделений и т.д. Как быть с заполнением этих полей, открывать еще одно окно?)
4) Можно ли вывести views в views? То есть, например для views ноды врач вложить views ноды контактные данные.
И на последок: спасибо всем ответившим!

Комментарии

Аватар пользователя semasping semasping 11 августа 2010 в 14:08

Для решения проблемы 3) может подойдет модуль Node Relationships. Если например (node reference на врача) будет полем с автозаполнением то можно настроить кнопки добавления.
При установке модуля появляется дополнительная вкладка "взаимосвязи" в "типах материалов". В ней есть вкладка - "Node referens Extras".

Но работают доп. кнопки почему то только с автозаполняемым полем Sad Ну или может я не разобрался.

По поводу остальных пунктов можно посмотреть модуль Display suite

Аватар пользователя svaroha@drupal.org svaroha@drupal.org 11 августа 2010 в 15:06

"semasping" wrote:

semasping
Для решения проблемы 3) может подойдет модуль Node Relationships. Если например (node reference на врача) будет полем с автозаполнением то можно настроить кнопки добавления.
При установке модуля появляется дополнительная вкладка "взаимосвязи" в "типах материалов". В ней есть вкладка - "Node referens Extras".

Но работают доп. кнопки почему то только с автозаполняемым полем Sad Ну или может я не разобрался.

По поводу остальных пунктов можно посмотреть модуль Display suite


Спасибо за посильную помощь. Поиграюсь с модулями. Еще один вопрос: правильно ли я построил связи между нодами и полями. Может что-нибудь переделать?

Аватар пользователя semasping semasping 11 августа 2010 в 23:32

"<a href="mailto:svaroha@drupal.org">svaroha@drupal.org</a>" wrote:
Еще один вопрос: правильно ли я построил связи между нодами и полями. Может что-нибудь переделать?

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