Возникла необходимость снимать некоторые ноды с публикации, если товар закончился.
Так же надо фильтровать ноды по остатку.
Именно НОДЫ, а не ТОВАР!
Переменная commerce_stock есть только в товаре, в нодах её не видно(в Views, Rules, etc...).
Подскажите пожалуйста, как вывести commerce_stock в список общих полей?
Может можно сделать какой-то алиас, или ещё как?
Думаю суть вопроса Вы поняли.
Подскажите пожалуйста, существует ли такая возможность?
Этот вопрос относится не только к commerce, но и к другим модулям.
Желательно без кода, средствами самого друпала.
Друпал изучаю недавно. Пожалуйста, прошу сильно не пинать, а по возможности объяснить на пальцах, что и где...
Комментарии
так вам надо снимать с публикации или выводить количество в ноде?
Надо снимать с публикации ноду.
Чтобы вывести количество, достаточно в отображении товара вывести поле stock...
Это вполне реально реализуется через рулесы
Подскажите, как?
У меня что-то никак не выходит ноду выставить, все варианты сводятся либо к юзеру, либо к товару.
Примерно так (возможно где-то что-то нужно будет подправить, но вроде должно сработать):
Events: Окончание процесса оформления
Действия:
1. Цикл:Селектор данных — commerce-order:commerce-line-items, Текущий элемент списка — Товар (item).
2. (В этом цикле): Fetch entity by property: Параметр: Тип сущности: Содержимое, Свойство: Товар, Значение: [item], Limit result count: 1
Предоставляет переменные: Ноды (displys)
3. (В этом же цикле): Цикл: Параметр: Список: [displys]
Элемент списка: Нода (display)
4. (внутри торого цикла): Снять материал с публикации — Содержимое: [display].
Есть второй вариант менее замудренный (но мене правильный): Событие - просмотр ноды, условие — сущность имеет поле: товар, условие — остаток = 0, Действие — снять ноду с публикации.
Вроде следовал строго по инструкции.
В 4-м пункте позволяет выбрать только displys:0-3...
The variable or parameter node is empty, и соответственно Unable to evaluate action node_unpublish.
(
Если быть более точным, то вот что позволяет выбрать.
Что выбирать, не знаю.
с displys:0-3 не работает...
P.S.: Ошибка идет, когда action внутри ПЕРВОГО цикла...
Когда внутри второго, вообще не срабатывает.
очевидно, проблема на 3 шаге