Bitrix-D7 22.2
Загрузка...
Поиск...
Не найдено
Класс Configurable
+ Граф наследования:Configurable:

Открытые члены

 __construct (array $initParams)
 
 prepareFieldsForSaving (array $fields)
 
 isCalculatePriceImmediately ()
 
 setValue ($value)
 
 getName ()
 
 getDescription ()
 
 getValue ()
 
 getEditControl ($prefix="", $value=false)
 
 getViewControl ()
 
 getPrice ()
 
 canUserEditValue ()
 
 canManagerEditValue ()
 
 getAdminDefaultControl ($prefix="", $value=false)
 
 isStore ()
 
 getParams ()
 
 setOperatingCurrency ($currency)
 
 getOperatingCurrency ()
 
 getCode ()
 
 getId ()
 
 getCostShipment (Shipment $shipment=null)
 
 getCost ()
 
 getPriceShipment (Shipment $shipment=null)
 
 getDisplayValue ()
 
 getInitial ()
 

Открытые статические члены

static getClassTitle ()
 
static getClassDescription ()
 
static getAdminFieldsList ()
 
static onAfterAdd ($serviceId, array $fields=array())
 
static whetherAdminExtraServicesShow ()
 
static isHandlerCompatible ()
 
static prepareParamsToSave (array $params)
 
static getAdminParamsControl ($name, array $params, $currency="")
 
static isInner ()
 
static isEmbeddedOnly ()
 

Защищенные члены

 getPeriodText ()
 
 calculateConcrete (\Bitrix\Sale\Shipment $shipment=null)
 
 getConfigStructure ()
 
 convertToOtherCurrency ($value, $currency)
 
 convertToOperatingCurrency ($value)
 

Защищенные данные

 $handlerCode = 'BITRIX_CONFIGURABLE'
 
 $id
 
 $code
 
 $name = ""
 
 $description = ""
 
 $className = __CLASS__
 
 $params = array()
 
 $rights
 
 $deliveryId = 0
 
 $initial = ""
 
 $active = false
 
 $sort = 100
 
 $value = null
 
 $currency = ""
 
 $operatingCurrency = ""
 

Статические защищенные данные

static $isCalculatePriceImmediately = true
 
static $whetherAdminExtraServicesShow = true
 

Подробное описание

См. определение в файле configurable.php строка 19

Конструктор(ы)

◆ __construct()

__construct ( array  $initParams)
Аргументы
array$initParamsInitial data params from table record.
Исключения

Bitrix\Main\ArgumentNullException

Исключения

Bitrix\Main\ArgumentTypeException

См. определение в файле configurable.php строка 32

33 {
34 parent::__construct($initParams);
35
36 if(!isset($this->config["MAIN"]["PRICE"]))
37 $this->config["MAIN"]["PRICE"] = "0";
38
39 if(!isset($initParams["CURRENCY"]))
40 $initParams["CURRENCY"] = "RUB";
41
42 if(!isset($this->config["MAIN"]["PERIOD"]) || !is_array($this->config["MAIN"]["PERIOD"]))
43 {
44 $this->config["MAIN"]["PERIOD"] = array();
45 $this->config["MAIN"]["PERIOD"]["FROM"] = "0";
46 $this->config["MAIN"]["PERIOD"]["TO"] = "0";
47 $this->config["MAIN"]["PERIOD"]["TYPE"] = "D";
48 }
49 }

Методы

◆ calculateConcrete()

calculateConcrete ( \Bitrix\Sale\Shipment  $shipment = null)
protected

См. определение в файле configurable.php строка 97

98 {
99 $result = new CalculationResult;
100 $price = $this->config["MAIN"]["PRICE"];
101
102 if($shipment && \Bitrix\Main\Loader::includeModule('currency'))
103 {
104 $rates = new \CCurrencyRates;
106 $shipmentCurrency = $shipment->getCollection()->getOrder()->getCurrency();
107 $price = $rates->convertCurrency( $price, $currency, $shipmentCurrency);
108 }
109
110 $result->setDeliveryPrice(
111 roundEx(
112 $price,
113 SALE_VALUE_PRECISION
114 )
115 );
116
117 $result->setPeriodDescription($this->getPeriodText());
118 $result->setPeriodFrom($this->config["MAIN"]["PERIOD"]["FROM"]);
119 $result->setPeriodTo($this->config["MAIN"]["PERIOD"]["TO"]);
120 $result->setPeriodType($this->config["MAIN"]["PERIOD"]["TYPE"]);
121
122 return $result;
123 }

◆ canManagerEditValue()

canManagerEditValue ( )
inherited

См. определение в файле base.php строка 157

158 {
159 return $this->rights[Manager::RIGHTS_MANAGER_IDX] == "Y";
160 }

◆ canUserEditValue()

canUserEditValue ( )
inherited

См. определение в файле base.php строка 152

153 {
154 return $this->rights[Manager::RIGHTS_CLIENT_IDX] == "Y";
155 }

◆ convertToOperatingCurrency()

convertToOperatingCurrency (   $value)
protectedinherited

См. определение в файле base.php строка 142

143 {
144 return $this->convertToOtherCurrency($value, $this->operatingCurrency);
145 }
convertToOtherCurrency($value, $currency)
Definition: base.php:111

◆ convertToOtherCurrency()

convertToOtherCurrency (   $value,
  $currency 
)
protectedinherited

См. определение в файле base.php строка 111

112 {
113 $result = floatval($value);
114
115 if($result <= 0)
116 return $value;
117
118 if($this->currency == '' || $currency == '')
119 return $value;
120
121 if($this->currency == $currency)
122 return $value;
123
124 static $rates = null;
125
126 if($rates === null)
127 {
128 if(\Bitrix\Main\Loader::includeModule('currency'))
129 $rates = new \CCurrencyRates;
130 else
131 $rates = false;
132 }
133
134 if($rates)
135 $result = $rates->convertCurrency($result, $this->currency, $currency);
136 else
137 $result = $value;
138
139 return $result;
140 }

◆ getAdminDefaultControl()

getAdminDefaultControl (   $prefix = "",
  $value = false 
)
inherited

Переопределяется в Store.

См. определение в файле base.php строка 162

163 {
164 return $this->getEditControl($prefix, $value);
165 }
getEditControl($prefix="", $value=false)
Definition: base.php:77

◆ getAdminFieldsList()

static getAdminFieldsList ( )
static

См. определение в файле configurable.php строка 191

192 {
193 $result = parent::getAdminFieldsList();
194 $result["STORES"] = true;
195 return $result;
196 }

◆ getAdminParamsControl()

static getAdminParamsControl (   $name,
array  $params,
  $currency = "" 
)
staticinherited

Переопределяется в Checkbox, Enum, Store и Quantity.

См. определение в файле base.php строка 167

168 {
169 return false;
170 }

◆ getClassDescription()

static getClassDescription ( )
static
Возвращает
string Class, service description.

Переопределяется в EmptyDeliveryService.

См. определение в файле configurable.php строка 62

63 {
64 return Loc::getMessage("SALE_DLVR_HANDL_DESCRIPTION");
65 }
static getMessage($code, $replace=null, $language=null)
Definition: loc.php:29

◆ getClassTitle()

static getClassTitle ( )
static
Возвращает
string Class title.

Переопределяет метод предка Base.

Переопределяется в EmptyDeliveryService.

См. определение в файле configurable.php строка 54

55 {
56 return Loc::getMessage("SALE_DLVR_HANDL_NAME");
57 }

◆ getCode()

getCode ( )
inherited

См. определение в файле base.php строка 197

198 {
199 return $this->code;
200 }

◆ getConfigStructure()

getConfigStructure ( )
protected
Возвращает
array
Исключения

Exception

См. определение в файле configurable.php строка 129

130 {
132
133 if(Loader::includeModule('currency'))
134 {
135 $currencyList = Currency\CurrencyManager::getCurrencyList();
136 if (isset($currencyList[$this->currency]))
137 $currency = $currencyList[$this->currency];
138 unset($currencyList);
139 }
140
141 return array(
142
143 "MAIN" => array(
144 "TITLE" => Loc::getMessage("SALE_DLVR_HANDL_CONF_TITLE"),
145 "DESCRIPTION" => Loc::getMessage("SALE_DLVR_HANDL_CONF_DESCRIPTION"),
146 "ITEMS" => array(
147
148 "CURRENCY" => array(
149 "TYPE" => "DELIVERY_READ_ONLY",
150 "NAME" => Loc::getMessage("SALE_DLVR_HANDL_CONF_CURRENCY"),
151 "VALUE" => $this->currency,
152 "VALUE_VIEW" => htmlspecialcharsbx($currency)
153 ),
154
155 "PRICE" => array(
156 "TYPE" => "NUMBER",
157 "MIN" => 0,
158 "NAME" => Loc::getMessage("SALE_DLVR_HANDL_CONF_PRICE")
159 ),
160
161 "PERIOD" => array(
162 "TYPE" => "DELIVERY_PERIOD",
163 "NAME" => Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_DLV"),
164 "ITEMS" => array(
165 "FROM" => array(
166 "TYPE" => "NUMBER",
167 "MIN" => 0,
168 "NAME" => "" //Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_FROM"),
169 ),
170 "TO" => array(
171 "TYPE" => "NUMBER",
172 "MIN" => 0,
173 "NAME" => "&nbsp;-&nbsp;" //Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_TO"),
174 ),
175 "TYPE" => array(
176 "TYPE" => "ENUM",
177 "OPTIONS" => array(
178 "MIN" => Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_MIN"),
179 "H" => Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_HOUR"),
180 "D" => Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_DAY"),
181 "M" => Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_MONTH")
182 )
183 )
184 )
185 )
186 )
187 )
188 );
189 }

◆ getCost()

getCost ( )
inherited
Возвращает
float
Уст.:
use \Bitrix\Sale\Delivery\ExtraServices\BasegetCostShipment()

Переопределяется в Checkbox, Enum, Quantity и Store.

См. определение в файле base.php строка 217

218 {
219 return 0;
220 }

◆ getCostShipment()

getCostShipment ( Shipment  $shipment = null)
inherited

См. определение в файле base.php строка 207

208 {
209 return $this->getCost();
210 }

◆ getDescription()

getDescription ( )
inherited

См. определение в файле base.php строка 67

68 {
69 return $this->description;
70 }

◆ getDisplayValue()

getDisplayValue ( )
inherited
Возвращает
string|null

Переопределяется в Checkbox и Enum.

См. определение в файле base.php строка 235

235 : ?string
236 {
237 return is_null($this->value) ? null : (string)$this->value;
238 }

◆ getEditControl()

getEditControl (   $prefix = "",
  $value = false 
)
inherited

Переопределяется в Enum и Store.

См. определение в файле base.php строка 77

78 {
79 if($prefix <> '')
80 $name = $prefix;
81 else
82 $name = $this->id;
83
84 if(!$value)
85 $value = $this->value;
86
87 return Input\Manager::getEditHtml($name, $this->params, $value);
88 }

◆ getId()

getId ( )
inherited

См. определение в файле base.php строка 202

203 {
204 return $this->id;
205 }

◆ getInitial()

getInitial ( )
inherited
Возвращает
string|null

См. определение в файле base.php строка 243

244 {
245 return $this->initial;
246 }

◆ getName()

getName ( )
inherited

См. определение в файле base.php строка 62

63 {
64 return $this->name;
65 }

◆ getOperatingCurrency()

getOperatingCurrency ( )
inherited

См. определение в файле base.php строка 192

193 {
194 return $this->operatingCurrency;
195 }

◆ getParams()

getParams ( )
inherited

См. определение в файле base.php строка 177

178 {
179 return $this->params;
180 }

◆ getPeriodText()

getPeriodText ( )
protected
Возвращает
string Period text.

См. определение в файле configurable.php строка 70

71 {
72 $result = "";
73
74 if (intval($this->config["MAIN"]["PERIOD"]["FROM"]) > 0 || intval($this->config["MAIN"]["PERIOD"]["TO"]) > 0)
75 {
76 $result = "";
77
78 if(intval($this->config["MAIN"]["PERIOD"]["FROM"]) > 0)
79 $result .= " ".Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_FROM")." ".intval($this->config["MAIN"]["PERIOD"]["FROM"]);
80
81 if(intval($this->config["MAIN"]["PERIOD"]["TO"]) > 0)
82 $result .= " ".Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_TO")." ".intval($this->config["MAIN"]["PERIOD"]["TO"]);
83
84 if($this->config["MAIN"]["PERIOD"]["TYPE"] == "MIN")
85 $result .= " ".Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_MIN")." ";
86 elseif($this->config["MAIN"]["PERIOD"]["TYPE"] == "H")
87 $result .= " ".Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_HOUR")." ";
88 elseif($this->config["MAIN"]["PERIOD"]["TYPE"] == "M")
89 $result .= " ".Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_MONTH")." ";
90 else
91 $result .= " ".Loc::getMessage("SALE_DLVR_HANDL_CONF_PERIOD_DAY")." ";
92 }
93
94 return $result;
95 }

◆ getPrice()

getPrice ( )
inherited
Возвращает
float
Уст.:
use \Bitrix\Sale\Delivery\ExtraServices\BasegetPriceShipment()

См. определение в файле base.php строка 101

102 {
103 $result = false;
104
105 if(isset($this->params["PRICE"]))
106 $result = $this->convertToOperatingCurrency($this->params["PRICE"]);
107
108 return $result;
109 }

◆ getPriceShipment()

getPriceShipment ( Shipment  $shipment = null)
inherited

См. определение в файле base.php строка 227

228 {
229 return $this->getPrice();
230 }

◆ getValue()

getValue ( )
inherited

См. определение в файле base.php строка 72

73 {
74 return $this->value;
75 }

◆ getViewControl()

getViewControl ( )
inherited

Переопределяется в Enum и Store.

См. определение в файле base.php строка 90

91 {
92 return Input\Manager::getViewHtml($this->params, $this->value);
93 }

◆ isCalculatePriceImmediately()

isCalculatePriceImmediately ( )

См. определение в файле configurable.php строка 215

◆ isEmbeddedOnly()

static isEmbeddedOnly ( )
staticinherited

См. определение в файле base.php строка 222

223 {
224 return false;
225 }

◆ isHandlerCompatible()

static isHandlerCompatible ( )
static

Переопределяется в EmptyDeliveryService.

См. определение в файле configurable.php строка 225

226 {
227 return true;
228 }

◆ isInner()

static isInner ( )
staticinherited

Переопределяется в Store.

См. определение в файле base.php строка 182

183 {
184 return false;
185 }

◆ isStore()

isStore ( )
inherited

См. определение в файле base.php строка 172

173 {
174 return $this->className == '\Bitrix\Sale\Delivery\ExtraServices\Store';
175 }

◆ onAfterAdd()

static onAfterAdd (   $serviceId,
array  $fields = array() 
)
static

См. определение в файле configurable.php строка 206

207 {
208 if($serviceId <= 0)
209 return false;
210
211 $res = Manager::update($serviceId, array('CODE' => $serviceId));
212 return $res->isSuccess();
213 }
static update($id, array $fields)
Definition: manager.php:816

◆ prepareFieldsForSaving()

prepareFieldsForSaving ( array  $fields)

См. определение в файле configurable.php строка 198

199 {
200 if((!isset($fields["CODE"]) || intval($fields["CODE"]) < 0) && isset($fields["ID"]) && intval($fields["ID"]) > 0)
201 $fields["CODE"] = $fields["ID"];
202
203 return parent::prepareFieldsForSaving($fields);
204 }

◆ prepareParamsToSave()

static prepareParamsToSave ( array  $params)
staticinherited

Переопределяется в Enum.

См. определение в файле base.php строка 147

148 {
149 return $params;
150 }

◆ setOperatingCurrency()

setOperatingCurrency (   $currency)
inherited

Переопределяется в Checkbox, Enum и Quantity.

См. определение в файле base.php строка 187

188 {
189 $this->operatingCurrency = $currency;
190 }

◆ setValue()

setValue (   $value)
inherited

Переопределяется в Quantity.

См. определение в файле base.php строка 57

58 {
59 $this->value = $value;
60 }

◆ whetherAdminExtraServicesShow()

static whetherAdminExtraServicesShow ( )
static

См. определение в файле configurable.php строка 220

Поля

◆ $active

$active = false
protectedinherited

См. определение в файле base.php строка 24

◆ $className

$className = __CLASS__
protectedinherited

См. определение в файле base.php строка 15

◆ $code

$code
protectedinherited

См. определение в файле base.php строка 12

◆ $currency

$currency = ""
protectedinherited

См. определение в файле base.php строка 27

◆ $deliveryId

$deliveryId = 0
protectedinherited

См. определение в файле base.php строка 22

◆ $description

$description = ""
protectedinherited

См. определение в файле base.php строка 14

◆ $handlerCode

$handlerCode = 'BITRIX_CONFIGURABLE'
protected

См. определение в файле configurable.php строка 22

◆ $id

$id
protectedinherited

См. определение в файле base.php строка 11

◆ $initial

$initial = ""
protectedinherited

См. определение в файле base.php строка 23

◆ $isCalculatePriceImmediately

$isCalculatePriceImmediately = true
staticprotected

См. определение в файле configurable.php строка 24

◆ $name

$name = ""
protectedinherited

См. определение в файле base.php строка 13

◆ $operatingCurrency

$operatingCurrency = ""
protectedinherited

См. определение в файле base.php строка 28

◆ $params

$params = array()
protectedinherited

См. определение в файле base.php строка 16

◆ $rights

$rights
protectedinherited
Инициализатор
= array (
Manager::RIGHTS_ADMIN_IDX => "N",
Manager::RIGHTS_MANAGER_IDX => "N",
Manager::RIGHTS_CLIENT_IDX => "N"
)

См. определение в файле base.php строка 17

◆ $sort

$sort = 100
protectedinherited

См. определение в файле base.php строка 25

◆ $value

$value = null
protectedinherited

См. определение в файле base.php строка 26

◆ $whetherAdminExtraServicesShow

$whetherAdminExtraServicesShow = true
staticprotected

См. определение в файле configurable.php строка 25


Объявления и описания членов класса находятся в файле: