Передача списка нод в ссылке создания ноды

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

Аватар пользователя Nikolas Nikolas 11 ноября 2017 в 14:00

Добрый день!

Есть контент, в котором выводится для выбора в виде пунктов названия нод определенного типа, которые можно выбрать для связи.
но надо выводить не весь список всех нод этого типа, а только определенный.
список нужных надо как-то передать в ссылке создания нового контента.

Как это можно реализовать?

Лучший ответ

Аватар пользователя bumble bumble 11 ноября 2017 в 14:12
1

Nikolas wrote:

Как это можно реализовать?

POST'ом, GET'ом.

Nikolas wrote:

Есть контент, в котором выводится для выбора в виде пунктов названия нод определенного типа, которые можно выбрать для связи.

Тут как-то невнятно написано.

В форме редактирования ноды, есть поле в котором можно выбрать связь с несколькими другими нодами. Верно?
Чем связь организована? Если Entityreference - там можно делать выборку с помощью представления. Отфильтруйте необходимые значения.

Nikolas wrote:

но надо выводить не весь список всех нод этого типа, а только определенный

Каким образом определять список необходимых?

Комментарии

Аватар пользователя bumble bumble 11 ноября 2017 в 14:12
1

Nikolas wrote:

Как это можно реализовать?

POST'ом, GET'ом.

Nikolas wrote:

Есть контент, в котором выводится для выбора в виде пунктов названия нод определенного типа, которые можно выбрать для связи.

Тут как-то невнятно написано.

В форме редактирования ноды, есть поле в котором можно выбрать связь с несколькими другими нодами. Верно?
Чем связь организована? Если Entityreference - там можно делать выборку с помощью представления. Отфильтруйте необходимые значения.

Nikolas wrote:

но надо выводить не весь список всех нод этого типа, а только определенный

Каким образом определять список необходимых?

Аватар пользователя Andruxa Andruxa 11 ноября 2017 в 18:54

Насколько я понял - надо чтобы по ссылке /node/type/add?field_reference[]=nidX&feild_reference[]=nidY&...
в форме редактирования ноды для поля field_reference были доступны ноды nidX, nidY, ... ?

Есть модуль Entityreference prepopulate, который позволяет передать в get-параметрах дефолтные значения для полей entityreference.
Можно взять его за основу и переписать, чтобы get-параметнр предавал в элемент формы не #default_value, а #options.

Аватар пользователя Nikolas Nikolas 11 ноября 2017 в 21:46

Может надо все описать Smile
Используется Entity reference
есть материал A в нем есть список привязанных материалов Y.
Создаем материал X, в нем есть связь с A (связь передается при создании X в ссылке при помощи ранее озвученного prepopulate) и еще связи в виде списка - надо чтобы были чекбоксы материала Y, чтобы можно было выбрать.
Но список материалов Y, которые выдаются должен быть отграничен. он заведомо известен в А и как вариант - передать его в ссылке создания материала X.
материалов Y ооочень много.
Использовался для этого ранее модуль Reference Option Limit
но со временем так как количество материалов Y постоянно растет. запросы на выборку этим модулем занимают очень много времени. И учитывая что список который надо выбрать известен заранее - не логично его заново искать в базе при создании материала X. проще его передать как и данные о материале A - в самой ссылке создания. Но только модуль prepopulate, на сколько помню, задает уже заполненное поле, а тут нужен список выбора. так как не все чекбоксы могут быть активированы.

Аватар пользователя adano adano 11 ноября 2017 в 22:19

ddf + views
В ссылке передавать ничего не нужно, используйте контекстные фильтры.
Чекбоксы реализовать костылем, aka "select to checkbox".

Аватар пользователя Nikolas Nikolas 11 ноября 2017 в 23:30

Это опять получится выборка из базы путем перебора всех Y которые связаны с A чтобы их вывести?
немного не понял принцип DDF. и там не работает чекбокс, как его можно реализовать?

Аватар пользователя adano adano 12 ноября 2017 в 3:58

1. Как хотите, хоть перебором, хоть через связь. У вас вьюха в распоряжении...
2. Принцип тот же, что и у reference option limit, но более функционально.
3. У всех подобных модулей проблема с виджетами автодополнения и чекбоксами. Через костыли решаемо. Запрос поиска в гугл написал вам выше.

P.S. И на будущее: в ссылку пихайте только дефолтное значение (#default_value) и не более.

Аватар пользователя Nikolas Nikolas 12 ноября 2017 в 10:13

У reference option limit нет проблемы с чекбоксами Smile
но есть проблема очень долгой загрузки страницы Sad
Про дефолтное не понял - почему только его?