Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Шаги "оформление заказа"

Автор atachРаздел Шаблоны TPL

Ответов: 11
Просмотров: 3506
Последний ответ 14 Августа 2013, 16:59:21
от admin
Вывести сумму заказа на странице "Заказ поступил в обработку"

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 2
Просмотров: 1202
Последний ответ 07 Ноября 2014, 23:46:49
от Axiomateria
Перенаправление на страницу регистрации покупателя перед оформлением заказа

Автор AxiomateriaРаздел Шаблоны XSLT

Ответов: 16
Просмотров: 5468
Последний ответ 11 Марта 2013, 11:54:29
от Axiomateria
Проблемы уведомления клиента при смене статуса заказа и доставки

Автор stud_maiРаздел Шаблоны XSLT

Ответов: 7
Просмотров: 945
Последний ответ 05 Января 2016, 00:59:01
от admin
Не суммировать скидку на товар с общей скидкой от суммы заказа

Автор smartwebРаздел Шаблоны TPL

Ответов: 3
Просмотров: 413
Последний ответ 19 Декабря 2016, 12:29:09
от aghigay

0 Пользователей и 1 Гость просматривают эту тему.

*

atach

  • ***
  • 163
  • +6/-0
    • Просмотр профиля
Подскажите такой вопрос, как можно узнать id заказа (корзины) с которой в настоящий момент работает покупатель в Интернет магазине.

В службе тех.поддержки ответили, но если честно понять так и не смог. Нужен просто листинг вывода ID .... что бы можно было дальше с ней произвести свои манипуляции.

Цитировать
##########
Ответ службы поддержки:

Текущую корзину товаров (заказ) можно получить с помощью метода getBasketOrder() класса order:
public function getBasketOrder($useDummyOrder = true)
Описание метода:
Получить заказ, который представляет текущую корзину товаров.
Если такого заказа нет, то он будет создан
@param bool $useDummyOrder использовать ли заказ с пометкой 'dummy'
Возвращает int|order заказ, который представляет корзину товаров.
Пример:
$order = order::getBasketOrder(false);

*

e.ioffe

  • ****
  • 368
  • +80/-2
  • Профессиональная разработка на UMI.CMS.
    • Просмотр профиля
    • Fullspace - Лучший хостинг для UMI.CMS
Все правильно.

$order = order::getBasketOrder(false);
$orderId = $order->getId();

Что дальше хотите сделать с заказом?
Ускорение сайта на UMI.CMS - http://speed.umispec.ru/

*

atach

  • ***
  • 163
  • +6/-0
    • Просмотр профиля
Спасибо буду пробовать
« Последнее редактирование: 20 Августа 2013, 15:13:30 от atach »

*

atach

  • ***
  • 163
  • +6/-0
    • Просмотр профиля
Вот ещё бы вопрос такой подсказали...
Дальше я в принудительном порядке пытаюсь вешать на заказ или на товар в заказе скидку, но не могу понять структуру...
Класс выглядит вот так:
Цитировать
/**
      * Назначить скидку на заказ
      * @param discount $discount скидка на заказ
      */
      public function setDiscount(discount $discount = null) {
         if($discount && ($discount->validate($this) == false)) {
            $discount = null;
         }
         $this->discount = $discount;
      }

но немогу понять как обратиться к нему...
$order->setDiscount($discoyntId);

Я так понимаю что $discoyntId это id скидки созданный в модуле ИНтренет магазин, или как нахначить скидку если также  она не подходит под правило.

*

Aisamiery

  • **
  • 83
  • +7/-4
    • Просмотр профиля
public function setDiscount(discount $discount = null)

По этой семантики метода я могу сказать, что она ждет не ID в виде числа, а конкретно объект класса discount

Может быть попробовать воспользоваться вот этой функцией
public function getAllDiscounts($codeName = false)

Получить все скидки или скидку по codeName, а потом уже передавать её в функцию установки скидки?

*

Aisamiery

  • **
  • 83
  • +7/-4
    • Просмотр профиля
Re:как узнать id заказа (корзины) с которой рабо
« Ответ #5 : 22 Августа 2013, 17:39:19 »
а есть вот ещё

/**
* Получить экземпляр скидки по ее id
* @param Integer $discountId id скидки
* @return discount объект скидки, экземпляр класса-потомка discount
*/
public static function get($discountId) {
static $cache = array();

if(!$discountId) {
return null;
}

if(isset($cache[$discountId])) {
return $cache[$discountId];
}

$objects = umiObjectsCollection::getInstance();
$discountObject = $objects->getObject($discountId);
if($discountObject instanceof iUmiObject == false) {
return false;
}

$discountTypeId = $discountObject->discount_type_id;
$discountTypeObject = $objects->getObject($discountTypeId);
if($discountTypeObject instanceof iUmiObject == false) return null;

$className = $discountTypeObject->codename . 'Discount';
self::includeDiscount($className);

return $cache[$discountId] = new $className($discountObject);
}

в принципе можно попробовать

$discount = discount::get($Id);
$order->setDiscount($discount);

*

atach

  • ***
  • 163
  • +6/-0
    • Просмотр профиля
Спасибо большое ... будем ковырять дальше ...
Хоть ООП не мой конёк, но когда то нужно начинать