Реализация связи Entity Reference между материалами, с динамическим добавлением материалов

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

Аватар пользователя buddy90210 buddy90210 10 марта 2020 в 14:49

Добрый день, подскажите как реализовать связь.
Пользователь может создать Проект(нода), в котором может создать Задачу(нода) которая в свою очередь должна относится к определенному Этапу(нода).
Сейчас реализовано так:
- Пользователь создает Проект
-- В нем есть ссылка на добавление задачи (с переменной GET(nid проекта) в урл запроса), при переходе по которой заполняется скрытое поле в задаче (field_project_id). Т.е. в дальнейшем при помощи вьюхи Задачи легко выводятся в шаблоне Проекта. Что было здорово, пока не добавилась необходимость добавить Этап...
Как необходимо реализовать:
- Создаем Проект
-- Нажимаем создать Задачу, в форме которой, надо выбрать к какому этапу она относится, при этом, если не одного Этапа не создано, создать его из формы добавления Задачи.

В чем сложность - разбираясь с полями ссылка на сущность так и не допер как передать аргумент чтобы выводились Этапы только от одного Проекта (проектов ведь может быть много а этапы в них разные).
Или может реализовать псевдо поле в форме добавления Задачи и программно добавлять в него Этапы (если они есть, делая запрос к БД)?
Как бы поступили Вы? Понимаю, что как умеешь так и делай! Но не правильно же через ж@пу зубы драть.

Комментарии

Аватар пользователя bumble bumble 10 марта 2020 в 16:27

Поле Entity Reference позволяет указать представление, в качестве источника данных для опций. Его, в свою очередь, можно выводить с нужными фильтрами, ограничивая этапы по родительскому референсу (проекту), в данном случае.

Аватар пользователя buddy90210 buddy90210 10 марта 2020 в 20:08

Да, спасибо за ответ, это понятно.
При использовании в качестве источника данных представления, все выводится правильно. Но отсутствует возможность создать сущность (Этап) если ее нет в представлении, все оканчивается ошибкой в валидации формы.
А вот если использовать источник данных не представление, такая возможность есть (создания), но нет сортировки по полю ноды (nid Проекта), только по типу ноды.