1C-Bitrix 25.700.0
Загрузка...
Поиск...
Не найдено
EntityLabelService.php
См. документацию.
1<?php
2
4
8
10{
11 public function mark(Entity $entity, Label $label): void
12 {
13 $existingLabel = $this->getORMLabelForEntity($entity, $label->getName());
14 if ($existingLabel)
15 {
16 $existingLabel->setLabelValue($label->getValue());
17 $existingLabel->save();
18
19 return;
20 }
21
23 $newLabel
24 ->setEntityId($entity->getId())
25 ->setEntityType($entity::getRegistryEntity())
26 ->setLabelName($label->getName())
27 ->setLabelValue($label->getValue())
28 ->save()
29 ;
30 }
31
33 {
34 $result = [];
35
36 $labelList = EntityLabelTable::getList([
37 'select' => ['LABEL_NAME', 'LABEL_VALUE'],
38 'filter' => [
39 '=ENTITY_ID' => $entity->getId(),
40 '=ENTITY_TYPE' => $entity::getRegistryEntity(),
41 ]
42 ]);
43
44 while ($row = $labelList->fetchObject())
45 {
46 $result[] = new Label($row->getLabelName(), $row->getLabelValue());
47 }
48
49 return $result;
50 }
51
52 public function getLabelForEntity(Entity $entity, string $labelName): ?Label
53 {
54 $label = $this->getORMLabelForEntity($entity, $labelName);
55
56 if (!$label)
57 {
58 return null;
59 }
60
61 return new Label($labelName, $label->getLabelValue());
62 }
63
64 private function getORMLabelForEntity(Entity $entity, string $labelName): ?EO_EntityLabel
65 {
67 'select' => ['LABEL_VALUE'],
68 'filter' => [
69 '=ENTITY_ID' => $entity->getId(),
70 '=ENTITY_TYPE' => $entity::getRegistryEntity(),
71 '=LABEL_NAME' => $labelName,
72 ],
73 'limit' => 1,
74 ])->fetchObject();
75
76 return $label ?? null;
77 }
78}
static getList(array $parameters=array())
Определения datamanager.php:431
static createObject($setDefaultValues=true)
Определения datamanager.php:232
getLabelForEntity(Entity $entity, string $labelName)
Определения EntityLabelService.php:52
getLabelListForEntity(Entity $entity)
Определения EntityLabelService.php:32
mark(Entity $entity, Label $label)
Определения EntityLabelService.php:11
Определения Label.php:6
getName()
Определения Label.php:11
getValue()
Определения Label.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
$entity
Определения ufield.php:9