Доброго времени суток!
Возможно кто то с подобным сталкивался, возможно решали что то подобное. Хотелось бы услышать хотя бы даже советы.
Имею словарь таксономии. Назовем его магазин. У каждого термина есть поле - "Адрес" ( field_address ). Обычное текстовое поле без форматирования с максимальной длинной 255 символов.
Помимо этого имею Тип материала - продукт ( обычная нода ). У него есть поля - "В магазине" ( field_in_mag - ссылка на термин таксономии "Магазин". Единственное значение ) и есть поле "Адрес магазина" ( field_in_mag_address. Единственное значение ).
Вопрос заключается в следующем. Как в поле field_in_mag_address заносить значения из field_address соответственно выбранного термина таксономии.
Другими словами - Я создаю новый Продукт. При создании выбираю в каком он магазине находится. После сохранения я получаю ноду которая выглядит следующим образом " Название продукта, Магазин в котором есть этот продукт, Адрес магазина в котором есть продукт. Как такого добиться?
Комментарии
Разобрался сам. При необходимости могу поделиться решением.
ну так делись
Создаем новое правило.
1) В события ( events ) добавляем - Перед сохранением материала
2) В условия ( conditions ) добавляем - Событие "Тип материала". Параметры - Содержимое:[node] Типы материалов: Продукция по аптекам
3) В действия добавляем - Установить значение. В данные добавляем node:имя-поля-для-заполнения. Селектор данных - ( сначала переключаемся внизу кнопкой в режим выбора данных ) и добавляем node:имя-поля-содержащего-термин:имя-поля-термина-для-копирования-данных
Пример:
Имеется тип материала Новость содержащий поля:
field_mag_term - Тип поля - ссылка на термин. Предположим что есть словарь Магазины.
field_mag_address - Поле куда надо "вытягивать" адрес.
Имеется словарь таксономии Магазины термины которого содержат поле
field_address - Поле содержащее адрес конкретного магазина
Таким образом в пункте 3 надо указывать: В данные - node:field-mag-address. В селектор данных - node:field-mag-term:field-address
Всё!
А не проще ли было сделать тип материала Магазин, заполнить его полями и в продукте выбирать из списка магазинов? А на странице продукта показывать вьювсом подтянутые значения из магазина.
А как связать материалы? Модулем References?
По моему, можно еще через hook_node_presave задать значение данного поля в товаре.
Улыбает то что дельные советы здесь пишут только после того как решение найдено )))
Дельные советы пишутся после того, как был прочитан вопрос
Да и решений у задачи может быть несколько, и у каждого решения есть свои достоинства и недостатки.
AlexFreem Большое Спасибо!!!!
Пожалуйста
+1
у меня проблема которою я не могу решить данным способом. Установил Drupal Commerce c модулем Commerce-Marketplace который позволяет сразу многим пользователям торговать с одного сайта. Модуль позволяет создавать в магазине под магазины и присваивать их пользователям. То есть если есть пользователь Олег то сам он торговать не может, а если у него есть Магазин Олега, то да. Так вот при добавлении каждого товара Олег должен в графе "магазин" указать: Магазин Олега. Выбрать из списка или автодополнением. Тип поля Entity Reference машинное имя cmp_store токен commerce-product:cmp-store Хочется этого не делать, то есть если товар добавляет или редактирует Олег, в поле автоматом вставлялось Магазин Олега. Я могу в профиле Олега добавить поле магазин, Олег в этом поле напишет Магазин Олега, но как перекинуть значение из профиля юзера в товар не знаю(или даже сделать имя пользователя такое же как название магазина и вытаскивать одно имя в другое). Я пробовал правилами как здесь описано, нашёл значение commerce-product:cmp-store но среди допустимых значений ничего не нашёл подходящего. здесь был совет
может расскажите по подробней. Или ещё какой способ.
AlexFreem Большое Спасибо!!!!
Очень все просто объяснил!