Есть два типа материала. Например автор и книга. Оба типа материала доступны для редактирования и заполнения пользователями.
Хочется, чтобы пользователи при редактировании материалов могли устанавливать связи между авторами и книгами, так, чтобы на странице книги была ссылка на страницу автора, а на странице автора был список книг.
Желательно сделать так, чтобы редактирование таких связей было максимально простым и понятным. Например при редактировании книги есть поле "Автор", в котором можно из списка выбрать авторов описанных на сайте. Так же не хочется, чтобы у пользователей при работе с сайтом была необходимость вникать, что такое таксономия и как ей правильно пользоваться.
Подскажите пожалуйста, как можно это реализовать наиболее простым способом?
Комментарии
да все равно через таксономию. словарь "Авторы" сделать, привязать к книге, а у пользователя при редактировании книги либо появится список с авторами, либо поле с автодополнением, куда он автора впишет. и не надо ему ни во что вникать, нет?
Или можно задать автора через тип ноды.
А в книге задать поле Node Reference с типом "автозаполняемое текстовое поле", где и выбирать автора.
Причем, настроить так, чтобы ля одной книги можно было бы задавать несколько авторов.
А чтобы можно было добавить в базу нового автора при вводе новой книги, можно воспользоваться модулем References dialog
Очень хочется, чтобы был список. Так как меня, например, поле с автодополнением вводит в ступор. Ну и к тому же в этом случае пользователи наплодят авторов, которые будут отличаться одной буквой и на самом деле будут одним автором.
А если будет список, то непонятно как добавлять нового автора.
Ну и к тому же нужно, чтобы можно было добавить автора независимо от того есть у него книги или нет.
А Node Reference позволяет на странице автора отобразить список его книг?
По моему, в случае использования авторов как элементов таксономии есть какой-то модуль, который позволяет бороться с такими вот дубликатами терминов.
Как это сделать без программирования и целиком на модулях - я, честно говоря, не знаю.
А можно это сделать следующим образом.
1. Создаете views по книгам, у которых в качестве аргумента будет выступать автор.
2. В своем модуле определяете hook_node_view, в котором для типа ноды "автор" определяете дополнительное поле для вывода списка книг.
В этом хуке программно запускаете созданный views, передавая ему аргументом nid ноды-автора. И далее полученный результат присваиваете значению поля, определенного в хуке hook_node_view.
Насчет списка - думаю, когда авторов будет очень много, это будет не очень удобно пользователям.