У меня есть компонент правила, который должен извлекать целое число из свойства объекта с именем «Курс» (свойство ECK). Это свойство является не ссылкой на сущность, а целым числом. Я использую это свойство, чтобы установить количество курсов, «клонированных» в «исходном идентификаторе курса», после того, как сущность курса «клонирована». Клонирование работает, но мой компонент работает, ТОЛЬКО ЕСЛИ я использую его в своем объекте Views Entity VBO как действие. Там я просто выбираю курс с допустимым значением [original-course-id], а затем запускаю это правило компонента.
Это работает.
Но компонент не работает, когда он интегрирован в правило. Вот структура:
Основное правило: Сущность помечена. (это работает)
=> компонент 1 (внутри этого основного правила): клонировать курс (это работает)
=> компонент 2 (внутри этого компонента 1) DO:
- «извлечь объект по идентификатору» («исходный идентификатор курса», из клона, т.е. [клонированный курс: исходный идентификатор объекта])
- «установить значение данных»: «выбранный-идентификатор-курса: общее количество-бронирований-курсов» новое значение «выбранный-идентификатор-курса: общее количество-бронирований-курсов», добавить смещение: 1.
Так почему же это работает в моем Views VBO, но не в самом правиле, где мне это нужно.
При интеграции в Главное правило переменными (параметрами) являются:
- пометка-пользователь
- отмеченный курс
При интеграции в Компонент 1 переменными (параметрами) являются:
- the-fresh-course (клонированный курс)
Что на самом деле происходит при интеграции правила, так это то, что когда оно извлекает объект по идентификатору (исходный идентификатор курса), он берет идентификатор объекта из CLONE, но не идентификатор из свойства [the-original-course-id]. . Почему? Я получил его, и мой Views VBO подтверждает это.
Вот код этого компонента 2:
{ "rules_upon_first_booking_update_the_original_course" : {
«ЭТИКЕТКА»: «При первом бронировании обновить исходный курс»,
"ПЛАГИН": "правило",
"ВЛАДЕЛЕЦ" : "правила",
«ТЕГИ»: [ «бронирование», «первое бронирование», «исходный курс», «обновление», «обновление» ],
"ТРЕБУЕТ" : [ "правила" ],
«ИСПОЛЬЗУЕТ ПЕРЕМЕННЫЕ»: { «the_fresh_course»: { «метка»: «Курс Fresh», «тип»: «курс» } },
"ДЕЛАТЬ" : [
{ "entity_fetch": {
«ИСПОЛЬЗОВАНИЕ» : { «тип» : «курс», «id» : [ «свежий-курс: исходный-идентификатор-курса»] },
"PROVIDE" : { "entity_fetched" : { "the_fetched_original_course" : "Извлеченный исходный курс" } }
}
},
{ "набор_данных" : {
"data" : [ "извлеченный-исходный-курс:общее-бронирование-курса" ],
"стоимость" : {
"выберите" : "выбранный-исходный-курс:всего-заказов-курсов",
«num_offset»: { «значение»: «1»}
}
}
}
]
}
}
Кто может помочь?