Помогите! Как установить связь между несколькими типами материалов?

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

Аватар пользователя shock shock 24 января 2008 в 15:42

Вопрос состоит в следующем: необходимо создавать два типа материалов (например "заведения" и "события"). И между этими материалами необходимо установить нежесткую связь, сейчас объясню конкретнее.
Создается список заведений с подробным описанием каждого из них (я это сделал создав отдельный тип материалов). Как можно создать тип материалов "События", так, чтобы при создании его экземапляра можно было указать заведение в котором происходит это событие из списка "заведения" и чтобы при просмотре информации об этом событии указывалась ссылка на это заведение.
Подозреваю, что это как-то реализуется с помощью таксономии, но не знаю как. Может уже есть какой-то модуль, подскажите, какой. Или необходимо писать свой модуль? (несложные модули я уже писал)

Комментарии

Аватар пользователя Nuri Nuri 24 января 2008 в 17:38

Пожалуй Таксономия.

Только не нужно "Тип материалов" называть "заведения" и "события".

Тип материалов - это страница, заметка или что-то в этом роде.

Думается: "Заведения" - сделать как "Словарь", а "События" - как "Термин", и тогда при создании нод привязывать их к словарю и термину. Это и свяжет все Ваши материалы, независимо от Типа.

При этом Словарей может быть несколько, соответственно и Терминов в Словаре.

Аватар пользователя fairwind fairwind 24 января 2008 в 18:03

1. создавать в отдельном словаре по термину для каждого заведения, и привязывать к событию термин.
2. использовать сск и поле nodereference

Аватар пользователя Natalie Natalie 24 января 2008 в 18:17

Лучше cck и node reference. Тогда и заведение, и событие будет нодами и их легче настроить или изменить по своему вкусу.

Аватар пользователя shock shock 25 января 2008 в 16:08

Мне пожалуй больше подойдет вариант, когда и заведение и событие будут нодами. Спасибо за CCK и NODE REFERENCE. Попробую разобраться.

Аватар пользователя shock shock 25 января 2008 в 17:03

О ! Кажется получилось - поставил CCK, включил все модули входящие в его поставку и добавил в тип материала "События" поле связанное с типом материалов "Заведения" - вроде работает так как надо. Теперь при создании События появилось поле "Заведение" в котором можно выбрать из списка уже существующих заведений.

Большое спасибо !

Аватар пользователя shock shock 25 января 2008 в 18:35

Упс, требуется уточнение. Необходимо, чтобы при создании события была возможность не только выбрать из списка существующих заведений, а и ввести название заведения отсутствующего в списке. При этом соответствующая запись в списке заведений создаваться не должна.
Пробовал установить для свойства "Элемент" поля "Заведение" значение "Autocomplete Text Field", после чего появилась возможность вводить названия заведений, отсутствующих в списке, однако при сохранении введенное значение утрачивается.

Подскажите, пожалуйста, как решить эту проблемку Smile

Аватар пользователя Natalie Natalie 26 января 2008 в 0:14

Попробуйте посмотреть какой-нибудь из дополнительный модулей для CCK, который это делает.
Что-то типа Addnode или NodeReferer.

Аватар пользователя shock shock 26 января 2008 в 16:39

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

Однако за совет большое спасибо!!! Может еще прийдется переделывать