Bitrix-D7  20.0.0
Класс BasketPropertyItemBase
Граф наследования:BasketPropertyItemBase:
CollectableEntity Entity BasketPropertyItem

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

 getId ()
 
 save ()
 
 verify ()
 
- Открытые члены унаследованные от CollectableEntity
 setCollection (EntityCollection $collection)
 
 getCollection ()
 
 delete ()
 
 setInternalIndex ($index)
 
 getInternalIndex ()
 
 isStartField ($isMeaningfulField=false)
 
 clearStartField ()
 
 hasMeaningfulField ()
 
 doFinalAction ($hasMeaningfulField=false)
 
 setMathActionOnly ($value=false)
 
 isMathActionOnly ()
 
 isClone ()
 
 createClone (\SplObjectStorage $cloneEntity)
 
- Открытые члены унаследованные от Entity
 initializeField ($fieldName, $fieldInfo)
 Fields factory. Подробнее...
 
 initialize ($className)
 
 postInitialize ()
 
 getObjectClass ()
 Returns class of Object for current entity. Подробнее...
 
 getObjectClassName ()
 Returns class name of Object for current entity. Подробнее...
 
 getCollectionClass ()
 
 getCollectionClassName ()
 
 createObject ($setDefaultValues=true)
 
 createCollection ()
 
 wakeUpObject ($row)
 
 wakeUpCollection ($rows)
 
 addField ($fieldInfo, $fieldName=null)
 
 getReferencesCountTo ($refEntityName)
 
 getReferencesTo ($refEntityName)
 
 getFields ()
 
 getField ($name)
 
 hasField ($name)
 
 getScalarFields ()
 
 getUField ($name)
 
 hasUField ($name)
 
 getName ()
 
 getFullName ()
 
 getNamespace ()
 
 getModule ()
 
 getDataClass ()
 
 getConnection ()
 
 getDBTableName ()
 
 getPrimary ()
 
 getPrimaryArray ()
 
 getAutoIncrement ()
 
 isUts ()
 
 isUtm ()
 
 getUfId ()
 
 setDefaultScope ($query)
 
 getCode ()
 
 getLangCode ()
 
 getTitle ()
 
 __clone ()
 
 compileDbTableStructureDump ()
 
 createDbTable ()
 Creates table according to Fields collection. Подробнее...
 
 readFromCache ($ttl, $cacheId, $countTotal=false)
 Reads data from cache. Подробнее...
 
 writeToCache (Main\DB\Result $result, $cacheId, $countTotal=false)
 
 getCacheTtl ($ttl)
 Returns cache TTL for the entity, possibly limited by the .settings.php: 'cache_flags' => array('value'=> array( "b_group_max_ttl" => 200, "b_group_min_ttl" => 100, )) Maximum is a higher-priority. Подробнее...
 
 cleanCache ()
 Cleans all cache entries for the entity. Подробнее...
 
 enableFullTextIndex ($field, $mode=true)
 Sets a flag indicating full text index support for a field. Подробнее...
 
 fullTextIndexEnabled ($field)
 Returns true if full text index is enabled for a field. Подробнее...
 

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

static getAvailableFields ()
 
static getRegistryEntity ()
 
static create (BasketPropertiesCollectionBase $basketPropertiesCollection)
 
static loadForBasketItem ($id)
 
static loadForBasket ($idList)
 
static getList (array $parameters=[])
 
static getEntityEventName ()
 
- Открытые статические члены унаследованные от Entity
static get ($entityName)
 Returns entity object. Подробнее...
 
static has ($entityName)
 Checks if entity exists. Подробнее...
 
static getInstance ($entityName)
 
static getDefaultObjectClassName ($entityName)
 
static getDefaultCollectionClassName ($entityName)
 
static isExists ($name)
 
static normalizeEntityClass ($entityName)
 
static getEntityClassParts ($class)
 
static camel2snake ($str)
 
static snake2camel ($str)
 
static normalizeName ($entityName)
 
static getInstanceByQuery (Query $query, &$entity_name=null)
 
static compileEntity ($entityName, $fields=null, $parameters=array())
 
static compileObjectClass ($dataClass)
 
static compileCollectionClass ($dataClass)
 
static destroy ($entity)
 

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

 addInternal (array $data)
 
 updateInternal ($primary, array $data)
 
- Защищенные члены унаследованные от CollectableEntity
 onFieldModify ($name, $oldValue, $value)
 
- Защищенные члены унаследованные от Entity
 appendField (Field $field)
 
 getCacheDir ()
 

Защищенные статические члены

static getMeaningfulFields ()
 
static generateXmlId ()
 
- Защищенные статические члены унаследованные от Entity
static getInstanceDirect ($className)
 

Дополнительные унаследованные члены

- Поля данных унаследованные от Entity
 $name
 
 $connectionName
 
 $dbTableName
 
 $primary
 
 $autoIncrement
 
 $isUts
 
 $isUtm
 
const DEFAULT_OBJECT_PREFIX = 'EO_'
 
- Защищенные данные унаследованные от CollectableEntity
 $collection
 
 $internalIndex = null
 
 $isClone = false
 
- Защищенные данные унаследованные от Entity
 $className
 
 $module
 
 $uf_id
 
 $fields
 
 $fieldsMap
 
 $u_fields
 
 $code
 
 $references
 
 $isClone = false
 
- Статические защищенные данные унаследованные от Entity
static $instances
 

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

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

Методы

◆ addInternal()

addInternal ( array  $data)
abstractprotected
Аргументы
array$data
Возвращает
Main\Entity\AddResult

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

◆ create()

static create ( BasketPropertiesCollectionBase  $basketPropertiesCollection)
static
Аргументы
BasketPropertiesCollectionBase$basketPropertiesCollection
Возвращает
BasketPropertyItem
Исключения
NotImplementedException
Main

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

78  {
79  $basketPropertyItem = static::createBasketPropertyItemObject();
80  $basketPropertyItem->setCollection($basketPropertiesCollection);
81 
82  $basketPropertyItem->setField('XML_ID', static::generateXmlId());
83 
84  return $basketPropertyItem;
85  }

◆ generateXmlId()

static generateXmlId ( )
staticprotected
Возвращает
string

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

91  {
92  return uniqid('bx_');
93  }

◆ getAvailableFields()

static getAvailableFields ( )
static
Возвращает
array

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

22  {
23  return array(
24  'NAME' => 'NAME',
25  'VALUE' => 'VALUE',
26  'CODE' => 'CODE',
27  'SORT' => 'SORT',
28  'XML_ID' => 'XML_ID'
29  );
30  }

◆ getEntityEventName()

static getEntityEventName ( )
static
Возвращает
null|string

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

351  {
352  return 'SaleBasketPropertyItem';
353  }

◆ getId()

getId ( )
Возвращает
int

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

44  {
45  return $this->getField('ID');
46  }

◆ getList()

static getList ( array  $parameters = [])
static
Аргументы
array$parameters
Исключения
NotImplementedException

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

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

341  {
342  throw new NotImplementedException();
343  }

◆ getMeaningfulFields()

static getMeaningfulFields ( )
staticprotected
Возвращает
array

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

36  {
37  return array();
38  }

◆ getRegistryEntity()

static getRegistryEntity ( )
static
Возвращает
string|void

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

52  {
54  }

◆ loadForBasket()

static loadForBasket (   $idList)
static
Аргументы
$idList
Возвращает
array
Исключения
Main

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

303  {
304  $result = [];
305 
306  $dbRes = static::getList(
307  array(
308  'filter' => array("@BASKET_ID" => $idList),
309  'order' => array("SORT" => "ASC", "ID" => "ASC"),
310  )
311  );
312 
313  while ($property = $dbRes->fetch())
314  {
315  $result[$property['BASKET_ID']][] = static::createBasketPropertyItemObject($property);
316  }
317 
318  return $result;
319  }

◆ loadForBasketItem()

static loadForBasketItem (   $id)
static
Аргументы
$id
Возвращает
array
Исключения
Main

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

275  {
276  if (intval($id) <= 0)
277  {
278  throw new Main\ArgumentNullException("id");
279  }
280 
281  $result = [];
282 
283  $dbRes = static::getList([
284  'filter' => ["=BASKET_ID" => $id],
285  'order' => ["SORT" => "ASC", "ID" => "ASC"],
286  ]);
287 
288  while ($property = $dbRes->fetch())
289  {
290  $result[] = static::createBasketPropertyItemObject($property);
291  }
292 
293  return $result;
294  }

◆ save()

save ( )

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

104  {
105  $this->checkCallingContext();
106 
107  $result = new Result();
108 
109  $id = $this->getId();
110 
111  $fields = $this->fields->getChangedValues();
112 
113  if (!empty($fields) && is_array($fields))
114  {
115  $map = static::getFieldsMap();
116  foreach ($map as $key => $value)
117  {
118  if ($value instanceof Main\Entity\StringField)
119  {
120  $fieldName = $value->getName();
121  if (array_key_exists($fieldName, $fields))
122  {
123  if (!empty($fields[$fieldName]) && strlen($fields[$fieldName]) > $value->getSize())
124  {
125  $fields[$fieldName] = substr($fields[$fieldName], 0, $value->getSize());
126  }
127  }
128  }
129  }
130  }
131 
132  if ($id > 0)
133  {
134  if (!empty($fields) && is_array($fields))
135  {
136  $r = $this->updateInternal($id, $fields);
137  if (!$r->isSuccess())
138  {
139  $result->addErrors($r->getErrors());
140  return $result;
141  }
142 
143  if ($resultData = $r->getData())
144  {
145  $result->setData($resultData);
146  }
147  }
148  }
149  else
150  {
151  /** @var BasketPropertiesCollectionBase $collection */
152  $collection = $this->getCollection();
153  $basketItem = $collection->getBasketItem();
154  $fields['BASKET_ID'] = ($basketItem) ? $basketItem->getId() : 0;
155  $this->setFieldNoDemand('BASKET_ID', $fields['BASKET_ID']);
156 
157  $r = $this->addInternal($fields);
158  if (!$r->isSuccess())
159  {
160  $result->addErrors($r->getErrors());
161  return $result;
162  }
163 
164  if ($resultData = $r->getData())
165  {
166  $result->setData($resultData);
167  }
168 
169  $id = $r->getId();
170  $this->setFieldNoDemand('ID', $id);
171  }
172 
173  if ($id > 0)
174  {
175  $result->setId($id);
176  }
177 
178  return $result;
179  }

◆ updateInternal()

updateInternal (   $primary,
array  $data 
)
abstractprotected
Аргументы
$primary
array$data
Возвращает
Main\Entity\UpdateResult

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

◆ verify()

verify ( )
Возвращает
Result
Исключения
NotImplementedException

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

216  {
217  $result = new Result();
218 
219  $map = static::getFieldsMap();
220 
221  $fieldValues = $fields = $this->fields->getValues();
222 
223  $propertyName = (!empty($fieldValues['NAME'])) ? $fieldValues['NAME'] : "";
224  if ($this->getId() > 0)
225  {
226  $fields = $this->fields->getChangedValues();
227  }
228 
229  foreach ($map as $key => $value)
230  {
231  if ($value instanceof Main\Entity\StringField)
232  {
233  $fieldName = $value->getName();
234  if (array_key_exists($fieldName, $fields))
235  {
236  if (array_key_exists($fieldName, $fields))
237  {
238  if (!empty($fields[$fieldName]) && strlen($fields[$fieldName]) > $value->getSize())
239  {
240  if ($fieldName === 'NAME')
241  {
242  $propertyName = substr($propertyName, 0, 50)."...";
243  }
244 
245  $result->addError(
246  new ResultWarning(
248  "SALE_BASKET_ITEM_PROPERTY_MAX_LENGTH_ERROR",
249  array(
250  "#PROPERTY_NAME#" => $propertyName,
251  "#FIELD_TITLE#" => $fieldName,
252  "#MAX_LENGTH#" => $value->getSize()
253  )
254  ),
255  'SALE_BASKET_ITEM_PROPERTY_MAX_LENGTH_ERROR'
256  )
257  );
258  }
259  }
260  }
261  }
262  }
263 
264  return $result;
265  }

Объявления и описания членов класса находятся в файле:
Bitrix\Main\Localization\Loc\getMessage
static getMessage($code, $replace=null, $language=null)
Returns translation by message code.
Definition: loc.php:29
Bitrix\Main\ORM\Entity\$fields
$fields
Definition: main/lib/orm/entity.php:44
Bitrix\Sale\Internals\CollectableEntity\getCollection
getCollection()
Definition: collectableentity.php:46
Bitrix\Main\ORM\Entity\getField
getField($name)
Definition: main/lib/orm/entity.php:537
Bitrix\Sale\Registry\ENTITY_BASKET_PROPERTY_ITEM
const ENTITY_BASKET_PROPERTY_ITEM
Definition: sale/lib/registry.php:30
Bitrix\Sale\BasketPropertyItemBase\getId
getId()
Definition: basketpropertiesitembase.php:43
Bitrix\Sale\BasketPropertyItemBase\updateInternal
updateInternal($primary, array $data)
Bitrix\Sale\Internals\CollectableEntity\$collection
$collection
Definition: collectableentity.php:16
Bitrix\Sale\BasketPropertyItemBase\addInternal
addInternal(array $data)