Создание скидки для emarket-а с помощью API — различия между версиями
Материал из Umicms
VITL' (обсуждение | вклад) (Новая страница: «В данной статье будет рассмотрен пример кода для создание скидки в модуле Интернет-магази…») |
VITL' (обсуждение | вклад) |
||
Строка 37: | Строка 37: | ||
$rules_discount_id = $objects->addObject('user',798); | $rules_discount_id = $objects->addObject('user',798); | ||
$rules_discoun_object = $objects->getObject($rules_discount_id); | $rules_discoun_object = $objects->getObject($rules_discount_id); | ||
− | //27397 - object_id элемента справочника "Типы правил для скидок" - " | + | //27397 - object_id элемента справочника "Типы правил для скидок" - "На пользователей" |
$rule_type_id = $objects->getObject(27397); | $rule_type_id = $objects->getObject(27397); | ||
$rules_discoun_object->setValue('rule_type_id', $rule_type_id); | $rules_discoun_object->setValue('rule_type_id', $rule_type_id); |
Версия 09:32, 4 июля 2011
В данной статье будет рассмотрен пример кода для создание скидки в модуле Интернет-магазин (emarket). В качестве примера будет создана скидка со следующими параметрами:
Тип: На товары каталога
Модификатор цены: Процент от суммы
Правила валидации: На пользователей
Сам код:
$objects = umiObjectsCollection::getInstance();
$objectTypes = umiObjectTypesCollection::getInstance();
// процент скидки
$percent = 20;
// object_id пользователя
$user_id = 2873;
$name_discount = "newDiscount";
$typeIdDiscount = $objectTypes->getBaseType("emarket", "discount");
$newDiscount = $objects->addObject($name_discount, $typeIdDiscount);
$newDiscountObject = $objects->getObject($newDiscount);
if($newDiscountObject instanceof umiObject) {
// 27131 - object_id элемента справочника "Тип скидки" - "На товары каталога"
$discount_type_id = $objects->getObject(27131);
$newDiscountObject->setValue('discount_type_id', $discount_type_id);
// 768 - id типа данных "Процен от суммы заказа", дочерний по отношению к "Модификаторы цены скидок"
$modif_id = $objects->addObject('',768);
$mod_object = $objects->getObject($modif_id);
$mod_object->setValue('proc', $percent);
// 27136 - object_id элемента справочника "Типы модификаторов скидок" - "Процент от суммы"
$modificator_type_id = $objects->getObject(27136);
$mod_object->setValue('modificator_type_id', $modificator_type_id);
$mod_object->commit();
$newDiscountObject->setValue('discount_modificator_id', $mod_object);
//798 - тип данных "На пользователей", дочерний по отношению к "Правила скидок"
$rules_discount_id = $objects->addObject('user',798);
$rules_discoun_object = $objects->getObject($rules_discount_id);
//27397 - object_id элемента справочника "Типы правил для скидок" - "На пользователей"
$rule_type_id = $objects->getObject(27397);
$rules_discoun_object->setValue('rule_type_id', $rule_type_id);
$object_user = $objects->getObject($user_id);
$users[] = $object_user;
$rules_discoun_object->setValue('users', $users);
$rules_discoun_object->commit();
$rules_discount_id_arr[] = $objects->getObject($rules_discount_id);
$newDiscountObject->setValue('discount_rules_id', $rules_discount_id_arr);
$newDiscountObject->setValue('is_active', 1);
$desc = $percent."%";
$newDiscountObject->setValue('description', $desc);
$newDiscountObject->commit();
}