Server IP : 80.87.202.40 / Your IP : 216.73.216.169 Web Server : Apache System : Linux rospirotorg.ru 5.14.0-539.el9.x86_64 #1 SMP PREEMPT_DYNAMIC Thu Dec 5 22:26:13 UTC 2024 x86_64 User : bitrix ( 600) PHP Version : 8.2.27 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home/bitrix/ext_www/cvetdv.ru/bitrix/modules/yandex.market/lib/component/concerns/ |
Upload File : |
<?php namespace Yandex\Market\Component\Concerns; use Yandex\Market; use Bitrix\Main; Main\Localization\Loc::loadMessages(__FILE__); trait HasGroup { protected $groupTree; protected function allowGroupFields($fields) { $allowed = [ 'NAME' => true, ]; foreach ($fields as $fieldName => &$field) { if (!isset($allowed[$fieldName])) { continue; } $field['ROW_TYPE'] = isset($field['ROW_TYPE']) ? (array)$field['ROW_TYPE'] : [ 'DEFAULT' ]; $field['ROW_TYPE'][] = 'GROUP'; } unset($field); return $fields; } protected function getGroupTreeEnum() { $result = []; foreach ($this->getGroupTree() as $group) { $depthDots = $group['DEPTH_LEVEL'] > 0 ? str_repeat('.', $group['DEPTH_LEVEL']) : ''; $result[] = [ 'ID' => $group['ID'], 'VALUE' => $depthDots . $group['NAME'], ]; } return $result; } protected function getGroupTree() { if ($this->groupTree === null) { $this->groupTree = array_merge( $this->loadGroupTopLevel(), $this->loadGroupStoredTree() ); } return $this->groupTree; } protected function loadGroupTopLevel() { return [ [ 'ID' => 0, 'NAME' => Market\Config::getLang('COMPONENT_CONCERNS_HAS_GROUP_TOP_LEVEL'), 'DEPTH_LEVEL' => 0, ], ]; } protected function loadGroupStoredTree() { $dataClass = $this->getGroupDataClass(); return $dataClass::getTree(); } /** * @return Main\Entity\DataManager */ protected function getGroupDataClass() { throw new Main\NotImplementedException('not implemented HasGroup::getGroupDataClass'); } }