и снова связь многие к одному или multiple values

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

Аватар пользователя Zigs Zigs 18 августа 2009 в 12:18

Добрый день.
Есть материал, созданный через CCK, нужно иметь у материала свойство, которое может принимать множественные значения, но проблема в том, что каждое значение этого свойства содержит несколько полей. Т.е. имеем обычную связь многие к одному, например:
- Заказчик (какой-то набор полей)
- Платежи (Дата, Сумма, Валюта + код заказчика)

Каждая запись платежа не может выступать в качестве самостоятельного материала, без информации о заказчике она мало интересна. Поля title и body, которые есть у каждой ноды тут не нужны, поэтому делать платежи через CCK не хочется. К тому же потом добавлять их через Create Content, и искать там в select box'е нужного заказчика совсем не комильфо.
Есть идея решить это следующим образом: Заказчик - материал CCK, платеж - таблица с соответствующими полями сделанная вручную в БД, написать свой модуль, который добавляет нужные табы на страницу редактирования ноды заказчика. По этим табам можно посмотреть весь список платежей или перейти на форму добавления нового.

Есть ли какие-нибудь другие способы решения такой задачи?

Комментарии

Аватар пользователя Zigs Zigs 20 августа 2009 в 0:13

Ну что? все пользуются NodeReference или делают совершенно плоские сайты? Smile Так никто и не сказали ничего.... ни хорошего, ни плохого по поводу моего решения.

Я тут чутка поковырялся и придумал другую идею.... multiply valies. А именно, дочерняя таблица делается как поле ССК со своим виджетом и. т.д. После указания количества значений Unlimited будет создана отдельная таблица для хранения значений этого поля.

В этом случае совсем не важно сколько полей у дочерней таблицы. Для ССК это хозяйство выглядит как поле определенного типа. Правда придется немного попотеть и сделать отдельный модуль для этого поля с реализацией всех необходимых хуков. Зато получается совершенно нормальный, созданный по всем законам ССК - Views материал.