[решено] Многие к многим: беклинк

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

Аватар пользователя Strycker Strycker 23 августа 2009 в 21:49

Коллеги!

Никак не соображу как сделать обратную ссылку. У меня есть два типа документа: автор программы и программы. Собственно я создал дополнительный поля (node reference) для каждого из типов документов. Добавляя новые программы и новых авторов, думал что если я забью поле "авторы" в программах, то автоматически у автора в "написанных программах" добавится ещё одна программа. Но не получается. Что-то делаю не так, но что?

upd: Разобрался! установив вот этот модуль http://drupal.org/project/nodereferrer можно решить задачу. Для документа "автор программы", задаём тип поля Node reference и проставляем галочки на против тех программ которые он написал. А для типа документа "программы" создаём тип Node Referrers и указываем на какой тип ноды и какое поле ноды ссылаемся (это поле получается read-only, т.е. при редактирования программы нельзя указать авторов, которые её написали. Только наоборот: сначала заводятся программы, потом авторы и ссылки на программы). Теперь отредактировав авторов, в описании программ, авторы появятся без чьей либо помощи Wink

P.S. расписал продробно, вдруг кому пригодится Smile
Если есть какие-то комментарии, было бы интересно почитать.

Комментарии

Аватар пользователя smih smih 24 августа 2009 в 7:34

Можно Node Referrers не использовать, а выводить список с помощью Views, т.е. вместо двух полей как у вас (node reference и node referrer) останется только первое.

Аватар пользователя Strycker Strycker 24 августа 2009 в 12:54

Т.е. заполнять поле авторы, ноды песни через view? Тогда надо использовать другой модуль, тот что viewfield или fieldview, который позволяет сделать view для вывода содержимого ноды? Я не смог найти этот модуль для 6 версии друпал. Опять же, лишний раз использовать view не очень хочется. Я хоть и не специалист в друпал (надеюсь что пока Wink ), но мне кажется, что лишний раз использовать view не стоит - тяжеловат он на мой взгляд.

P.s. В одном из обсуждений про обратные ссылки видел мысль как их нужно правильно создавать (для моего примера): создавая новый документ "автор", тут же (читай, на этой же странице или по переходу со страницы редактирования ноды) создать новую программу, для которой он автоматически станет автором. Это удобнее и логичнее и node referrer не нужен будет, как я понимаю. Но как это реализовать, я пока не осознал.

Аватар пользователя Strycker Strycker 24 августа 2009 в 21:14

О! судя по описанию то что надо, благодарю. Уточнение: я не совсем понял node referrer для этого модуля нужен или нет?
Осталось только разбить редактирование нод по пользователям, придумать новый шаблон для редактирования каждого типа ноды и настанет коммунизм Wink
Но это уже совсем другая история...

Благодарю ещё раз за дискуссию.

Upd: скачал модуль, поставил, активировал. Никаких существенных изменений не обнаружил.