Вопрос состоит в следующем: необходимо создавать два типа материалов (например "заведения" и "события"). И между этими материалами необходимо установить нежесткую связь, сейчас объясню конкретнее.
Создается список заведений с подробным описанием каждого из них (я это сделал создав отдельный тип материалов). Как можно создать тип материалов "События", так, чтобы при создании его экземапляра можно было указать заведение в котором происходит это событие из списка "заведения" и чтобы при просмотре информации об этом событии указывалась ссылка на это заведение.
Подозреваю, что это как-то реализуется с помощью таксономии, но не знаю как. Может уже есть какой-то модуль, подскажите, какой. Или необходимо писать свой модуль? (несложные модули я уже писал)
Комментарии
Пожалуй Таксономия.
Только не нужно "Тип материалов" называть "заведения" и "события".
Тип материалов - это страница, заметка или что-то в этом роде.
Думается: "Заведения" - сделать как "Словарь", а "События" - как "Термин", и тогда при создании нод привязывать их к словарю и термину. Это и свяжет все Ваши материалы, независимо от Типа.
При этом Словарей может быть несколько, соответственно и Терминов в Словаре.
1. создавать в отдельном словаре по термину для каждого заведения, и привязывать к событию термин.
2. использовать сск и поле nodereference
Лучше cck и node reference. Тогда и заведение, и событие будет нодами и их легче настроить или изменить по своему вкусу.
Мне пожалуй больше подойдет вариант, когда и заведение и событие будут нодами. Спасибо за CCK и NODE REFERENCE. Попробую разобраться.
О ! Кажется получилось - поставил CCK, включил все модули входящие в его поставку и добавил в тип материала "События" поле связанное с типом материалов "Заведения" - вроде работает так как надо. Теперь при создании События появилось поле "Заведение" в котором можно выбрать из списка уже существующих заведений.
Большое спасибо !
Упс, требуется уточнение. Необходимо, чтобы при создании события была возможность не только выбрать из списка существующих заведений, а и ввести название заведения отсутствующего в списке. При этом соответствующая запись в списке заведений создаваться не должна.
Пробовал установить для свойства "Элемент" поля "Заведение" значение "Autocomplete Text Field", после чего появилась возможность вводить названия заведений, отсутствующих в списке, однако при сохранении введенное значение утрачивается.
Подскажите, пожалуйста, как решить эту проблемку
Попробуйте посмотреть какой-нибудь из дополнительный модулей для CCK, который это делает.
Что-то типа Addnode или NodeReferer.
Решил проблемку очень просто - сделал дополнительное текстовое поле, в которое вводится название заведения, если такового нет в выпадающем списке.
Тупо, зато без лишних наворотов и модулей...
Однако за совет большое спасибо!!! Может еще прийдется переделывать
спасибо.