2namespace Bitrix\Sale\Delivery\Restrictions;
4use Bitrix\Sale\Delivery\Restrictions;
5use Bitrix\Main\Localization\Loc;
6use Bitrix\Sale\Internals\Entity;
7use Bitrix\Sale\Shipment;
9Loc::loadMessages(__FILE__);
20 return Loc::getMessage(
"SALE_DLVR_RSTR_BY_DIMENSIONS_NAME");
25 return Loc::getMessage(
"SALE_DLVR_RSTR_BY_DIMENSIONS_DESCRIPT");
35 public static function check($dimensionsList,
array $restrictionParams, $deliveryId = 0)
37 if(empty($restrictionParams))
40 foreach($dimensionsList as $dimensions)
42 foreach($restrictionParams as
$name => $value)
47 if(!isset($dimensions[
$name]))
50 if(intval($dimensions[
$name]) <= 0)
53 if(intval($dimensions[
$name]) > intval($value))
63 $paramsToCheck =
array();
67 foreach(
$entity->getShipmentItemCollection() as $shipmentItem)
69 $basketItem = $shipmentItem->getBasketItem();
74 $dimensions = $basketItem->getField(
"DIMENSIONS");
76 if(is_string($dimensions))
77 $dimensions = unserialize($dimensions, [
'allowed_classes' =>
false]);
79 if(!is_array($dimensions) || empty($dimensions))
82 $paramsToCheck[] = $dimensions;
86 return $paramsToCheck;
96 'LABEL' => Loc::getMessage(
"SALE_DLVR_RSTR_BY_DIMENSIONS_LENGTH")
102 'LABEL' => Loc::getMessage(
"SALE_DLVR_RSTR_BY_DIMENSIONS_WIDTH")
108 'LABEL' => Loc::getMessage(
"SALE_DLVR_RSTR_BY_DIMENSIONS_HEIGHT")
static extractParams(Entity $entity)
static check($dimensionsList, array $restrictionParams, $deliveryId=0)
static getClassDescription()
static getParamsStructure($entityId=0)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)