[РЕШЕНО] Node Reference и Views

Аватар пользователя Mr.Torture Mr.Torture 10 октября 2016 в 9:44

Имеется материалы типа А, на которые иногда ссылаются материалы типа Б через Node Reference, есть вьюха для материалов типа А - как сделать, чтоб в ней выводить ссылки на материалы типа Б, ссылающиеся на материалы типа А, или хотяб выводить признак того, что на данный материал типа А есть ссылка в материале типа Б?

0 Thanks

Комментарии

Аватар пользователя tlito tlito 10 октября 2016 в 11:36
1

создайте Представление с контекстным фильтром :
Содержимое: Поле ссылка на материалы А - в настойка фильтра - 'Id материала из URL'
и выводите поля.
добавьте способ отображения - Блок - и разместите этот блок в материалах типа А.

если нужен "признак того", то включив агрегацию, можно вывести количество материалов, в которых упоминается материал А - это поле Заголовок с агрегацией Количество или Count

Аватар пользователя Mr.Torture Mr.Torture 19 октября 2016 в 11:01

Что-то я туплю... Можно поподробнее? А то у меня выдаёт ИД материала А, а не Б...

Аватар пользователя fairrandir fairrandir 19 октября 2016 в 12:24
1

В настройках вьюхи добавить связь - Ссылающаяся сущность.
Добавить поле, например Path, в настройках поля будет селект, в нём выбрать эту связь. Выводить можно будет любые поля из ссылающейся ноды.

Аватар пользователя Mr.Torture Mr.Torture 20 октября 2016 в 11:23

Что-то наковырял, что даже то, что выдавало, перестало выдавать... В общем во вьюхе, выводящей материалы типа А, включена взаимосвязь с полем node reference материалов типа Б, выводится несколько полей материалов типа А и одно поле "Содержимое: хххх_reference", имеющееся только в материалах типа Б, в настройках этого поля включена связь в селекторе вверху - при выборе любого форматёра в настройках этого поля сейчас ничего не выдаёт - специально смотрю на строки нод типа А, на которые есть ссылки в нодах типа Б. Куда ещё рыть, кто подскажет?

Аватар пользователя Mr.Torture Mr.Torture 20 октября 2016 в 11:20

В общем, разобрался. Решение немного сложнее получается. Связь нужна не просто reference, а reference_reverce - с такой связью поле "Содержимое: хххх_reference" выдаёт сам же материал типа А, на который есть ссылка в материале типа Б. Чтоб получить ссылку на материал типа Б выше поля добавляем скрытое поле типа "Содержимое: адрес", в котором опять выставляем связь reference_reverce, затем в поле "Содержимое: хххх_reference" делаем настройку Rewrite Results, где подстановочным шаблоном выводим примерно такую конструкцию  <a href="[path]">текст ссылки</a> и не забываем заполнить поведение при отсутствии результатов - после этого стало отлично выводить ссылки на ссылающиеся ноды и соответствующий текст при отсутствии таковых.

Аватар пользователя Mr.Torture Mr.Torture 21 октября 2016 в 4:32

Ещё один вопрос - можно ли сделать так, чтоб в самой ноде типа А было видно, что на неё ссылается нода типа Б?

Аватар пользователя Mr.Torture Mr.Torture 25 октября 2016 в 4:21

Немного не то... Там рассказано, как автоматом создавать связанные ноды - это я и так смог сделать и ссылки на создание дочерних нод гораздо проще сделал, а мне хотелось бы, чтоб в уже созданной ноде типа А, которую может ещё в том году создали, при создании новой ноды типа Б, ссылающейся на старую, появлялся какой-то признак того, что на эту ноду типа А есть ссылка в ноде типа Б.