Поле ноды - другая нода, как правильней реализовать?

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

Аватар пользователя buddy90210 buddy90210 5 января 2020 в 14:06

Приветствую всех!
Помогите с концепцией, как правильнее реализовать?
Имеем материал с полями заполняемыми во время создания ноды - назовем его ремонт.
После создания - переходим на страницу созданного материала. И там необходима возможность добавить к данному материалу ноду - работа (их может быть бесконечное количество).
Т.е. выглядит так:
Ремонт ВАЗ (сущность - нода тип 1):
- Работа ремонт двигателя (сущность - нода тип 2)
- Работа ремонт подвески (сущность - нода тип 2)
и т.д.
Как реализовать связь при создании дочерней ноды, чтобы потом подгружать дочерние ноды при просмотре родителя и наоборот?
При создании дочерней ноды, в ссылку подставлять переменную с id ноды родителя и записывать в скрытое поле дочерней ноды?
Как родительской ноде передать значения id дочерних нод (сохранить)? Чтобы при просмотре ноды родителя, не делать каждый раз запрос к базе данных на поиск нод дочерей с полем id родителя, а сразу загружать node_load_multiple(); Так будет меньше нагрузка на базу данных или это не существенно изменит ситуацию?
Любые Ваши рассуждения приветствуются!

Комментарии

Аватар пользователя marassa marassa 5 января 2020 в 16:00

buddy90210 wrote:
Как реализовать связь при создании дочерней ноды
В дочернем типе материала поле ER со ссылкой на родительскую ноду.
buddy90210 wrote:
чтобы потом подгружать дочерние ноды при просмотре родителя
Потом подгружать через Views с контекстным фильтром.
buddy90210 wrote:
и наоборот
Наоборот еще проще.
buddy90210 wrote:
При создании дочерней ноды, в ссылку подставлять переменную с id ноды родителя
Именно так, с использованием модуля Prepopulate.
buddy90210 wrote:
и записывать в скрытое поле дочерней ноды?
Почему скрытое?
buddy90210 wrote:
Как родительской ноде передать значения id дочерних нод (сохранить)?
Никак.
buddy90210 wrote:
Чтобы при просмотре ноды родителя, не делать каждый раз запрос к базе данных на поиск нод дочерей с полем id родителя, а сразу загружать node_load_multiple(); Так будет меньше нагрузка на базу данных или это не существенно изменит ситуацию?
Это не нужно, и никак не изменит нагрузку на базу данных.