%PDF- %PDF-
Server IP : 37.220.80.31 / Your IP : 18.221.234.179 Web Server : Apache/2.4.52 (Ubuntu) System : Linux 3051455-guretool.twc1.net 5.15.0-107-generic #117-Ubuntu SMP Fri Apr 26 12:26:49 UTC 2024 x86_64 User : www-root ( 1010) PHP Version : 7.4.33 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : /var/www/www-root/data/www/dev.artlot24.ru/bitrix/components/bitrix/iblock.field.element/templates/main.edit/ |
Upload File : |
<?php if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); use Bitrix\Iblock\UserField\Types\ElementType; use Bitrix\Main\Web\Json; use Bitrix\Main\Page\Asset; $fieldName = $arResult['fieldName']; $value = $arResult['value']; if (empty($arResult['userField']['SETTINGS']['DISPLAY'])){ $arResult['userField']['SETTINGS']['DISPLAY'] = ElementType::DISPLAY_UI; } $isMultiple = ($arResult['userField']['MULTIPLE'] === 'Y'); if($arResult['userField']['SETTINGS']['DISPLAY'] === ElementType::DISPLAY_UI) { \CJSCore::Init('ui'); $startValue = []; $itemList = []; foreach($arResult['userField']['USER_TYPE']['FIELDS'] as $key => $val) { if($key === '' && $isMultiple) { continue; } $item = [ 'NAME' => $val, 'VALUE' => $key, ]; if(in_array($key, $value)) { $startValue[] = $item; } $itemList[] = $item; } $arResult['params'] = Json::encode([ 'isMulti' => $isMultiple, 'fieldName' => $arResult['userField']['FIELD_NAME'] ]); $controlNodeId = $arResult['userField']['FIELD_NAME'] . '_control_'; $valueContainerId = $arResult['userField']['FIELD_NAME'] . '_value_'; $spanAttrList = [ 'id' => $valueContainerId, 'style' => 'display: none' ]; $arResult['spanAttrList'] = $spanAttrList; $arResult['attrList'] = []; for($i = 0, $n = count($startValue); $i < $n; $i++) { $attrList = [ 'type' => 'hidden', 'name' => $fieldName, 'value' => $startValue[$i]['VALUE'], ]; $arResult['attrList'][] = $attrList; } if(!$isMultiple) { $startValue = $startValue[0]; } $items = Json::encode($itemList); $currentValue = Json::encode($startValue); $arResult['items'] = $items; $arResult['currentValue'] = $currentValue; $fieldNameJs = CUtil::JSEscape($arResult['userField']['FIELD_NAME']); $htmlFieldNameJs = CUtil::JSEscape($fieldName); $controlNodeIdJs = CUtil::JSEscape($controlNodeId); $valueContainerIdJs = CUtil::JSEscape($valueContainerId); $block = ($isMultiple ? 'main-ui-multi-select' : 'main-ui-select'); $arResult['block'] = $block; $arResult['controlNodeId'] = $controlNodeId; $arResult['fieldNameJs'] = $fieldNameJs; $arResult['valueContainerIdJs'] = $valueContainerIdJs; $arResult['htmlFieldNameJs'] = $htmlFieldNameJs; $arResult['controlNodeIdJs'] = $controlNodeIdJs; } elseif($arResult['userField']['SETTINGS']['DISPLAY'] === ElementType::DISPLAY_LIST) { $attrList = [ 'name' => $fieldName, 'tabindex' => '0', ]; if($arResult['userField']['SETTINGS']['LIST_HEIGHT'] > 1) { $attrList['size'] = (int)$arResult['userField']['SETTINGS']['LIST_HEIGHT']; } if($isMultiple) { $attrList['multiple'] = 'multiple'; } $arResult['attrList'] = $attrList; } if($this->getComponent()->isMobileMode()) { Asset::getInstance()->addJs( '/bitrix/js/mobile/userfield/mobile_field.js' ); Asset::getInstance()->addJs( '/bitrix/components/bitrix/main.field.enum/templates/main.view/mobile.js' ); }