1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
getbasketaction.php
См. документацию.
1<?php
2
3namespace Bitrix\Sale\Controller\Action\Entity;
4
5use Bitrix\Main;
6use Bitrix\Sale;
7
15{
16 private function checkParams(array $fields): Sale\Result
17 {
18 $result = new Sale\Result();
19
20 if (empty($fields['SITE_ID']))
21 {
22 $this->addError(
23 new Main\Error(
24 'siteId not found',
26 )
27 );
28 }
29
30 if (empty($fields['FUSER_ID']) || (int)$fields['FUSER_ID'] <= 0)
31 {
32 $this->addError(
33 new Main\Error(
34 'fuserId not found',
36 )
37 );
38 }
39
40 return $result;
41 }
42
43 public function run(array $fields)
44 {
45 $checkParamsResult = $this->checkParams($fields);
46 if (!$checkParamsResult->isSuccess())
47 {
48 $this->addErrors($checkParamsResult->getErrors());
49 return null;
50 }
51
52 $fuserId = $fields['FUSER_ID'];
53 $basket = $this->getBasketByFuserId($fuserId, $fields['SITE_ID']);
54
57 $orderClassName = $registry->getOrderClassName();
58 $order = $orderClassName::create($fields['SITE_ID']);
59 $order->setBasket($basket);
60
61 return [
62 'BASKET_ITEMS' => Sale\Helpers\Controller\Action\Entity\Order::getOrderProductsByBasket($basket),
63 'ORDER_PRICE_TOTAL' => Sale\Helpers\Controller\Action\Entity\Order::getTotal($order),
64 ];
65 }
66
67 private function getBasketByFuserId($fuserId, $siteId): Sale\BasketBase
68 {
70
72 $basketClassName = $registry->getBasketClassName();
73 return $basketClassName::loadItemsForFUser($fuserId, $siteId)->getOrderableItems();
74 }
75}
addError(Error $error)
Определения action.php:200
addErrors(array $errors)
Определения action.php:213
Определения error.php:15
static getInstance($type)
Определения registry.php:183
const REGISTRY_TYPE_ORDER
Определения registry.php:16
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
Определения file_new.php:804
$result
Определения get_property_values.php:14
$siteId
Определения ajax.php:8
$order
Определения payment.php:8
$fields
Определения yandex_run.php:501