Пробую создавать свои правила (rules), но когда дело доходит до создания некоторых условий (например, проверить чтобы цена была больше 500 руб или проверить заполнено ли определенное, необязательное поле) то здесь наступает ступор.
В условии нужно выбрать из селектора данных нужное поле для сравнения или проверки, но оно там отсутствует. На различных сайтах нашел одно и то же решение - создать условие "Сущность имеет поле" и выбрать нужное поле, но оно почему-то не срабатывает. Создаю условие "Сущность имеет поле" -> выбираю нужное мне поле -> сохраняю. Создаю новое условие (например, Сравнение данных) -> раскрываю список селекторы данных и... нет нужного поля.
Что не так? Может у кого завалялся какой-нибудь русскоязычные мануалы или ссылочка на описание подробной проблемы.
Сразу предупреждаю, что честно искал несколько вечеров - по форумам и тематическим сайтам. Помогите советом, пожалуйста.
Комментарии
ну во-первых никто не в курсе какой event у вашего рулеса, а во-вторых надо было бы добавить условие вначале по типу материала
event - Расчёт стоимости товара. В списке селекторов - 'site:', 'commerce-line-item:' и 'commerce-line-item-unchanged:'.
Скорее всего я не так применяю events. Т.к. не могу найти что и для чего, приходится исходить из названия и пытаться понять как что работает...
P.S. по моим меркам, задача стоит элементарная, но вот её решение дается трудно.
Для справки - задача следующая: Нужно сделать скидку пользователям роли "VIP" в 3%, но не делать скидку на товар, у которых есть поле "старая цена".
а я бы как то так сделал
global $user;
$product_id = $line_item->commerce_product['und'][0]['product_id'];
$product = commerce_product_load($product_id);
if (!empty($product->field_old_price) && in_array('vip', $user->roles)) {
$price = &$line_item->commerce_unit_price['und'][0]['amount'];
$price = $price * .97 ;
}
}
смотря на этот код, можно понять, что в рулес нужно сделать
Проблема решена! ) Я новичок в этом, поэтому не совсем понимал, что делал )
Нашел здесь: http://www.drupal.ru/node/104432
drupby, помогло не твое решение, но СПАСИБО ЗА СОДЕЙСТВИЕ ))