3namespace Bitrix\Iblock\BizprocType;
6use Bitrix\Bizproc\FieldType;
7use Bitrix\Main\Localization\Loc;
8use Bitrix\Main\Page\Asset;
11Loc::loadMessages(__FILE__);
15 class UserTypePropertyElist
extends UserTypeProperty
17 private static $controlIsRendered =
false;
25 public static function renderControlOptions(FieldType $fieldType, $callbackFunctionName, $value)
30 $valueTmp = (int) current($value);
34 $valueTmp = (int) $value;
40 $elementIterator = \CIBlockElement::getList(
array(),
array(
'ID' => $valueTmp),
false,
false,
array(
'ID',
'IBLOCK_ID'));
41 if ($element = $elementIterator->fetch())
44 if (
$iblockId <= 0 && (
int) $fieldType->getOptions() > 0)
45 $iblockId = (int) $fieldType->getOptions();
49 $result =
'<select id="WFSFormOptionsX" onchange="'.Main\Text\HtmlFilter::encode($callbackFunctionName).
'(this.options[this.selectedIndex].value)">';
50 $iblockTypeIterator = \CIBlockParameters::getIBlockTypes();
51 foreach ($iblockTypeIterator as
$iblockTypeId => $iblockTypeName)
53 $result .=
'<optgroup label="'.Main\Text\HtmlFilter::encode($iblockTypeName).
'">';
56 while (
$iblock = $iblockIterator->fetch())
59 .Main\Text\HtmlFilter::encode(
$iblock[
'NAME']).
'</option>';
61 $defaultIBlockId =
$iblock[
'ID'];
66 $result .=
'</select><!--__defaultOptionsValue:'.$defaultIBlockId.
'--><!--__modifyOptionsPromt:'.Loc::getMessage(
'UTP_ELIST_DOCUMENT_MOPROMT').
'-->';
67 $fieldType->setOptions($defaultIBlockId);
80 public static function renderControlSingle(FieldType $fieldType,
array $field, $value, $allowSelection, $renderMode)
82 static::initControlHelpers();
83 return parent::renderControlSingle($fieldType, $field, $value, $allowSelection, $renderMode);
94 public static function renderControlMultiple(FieldType $fieldType,
array $field, $value, $allowSelection, $renderMode)
96 static::initControlHelpers();
97 return parent::renderControlMultiple($fieldType, $field, $value, $allowSelection, $renderMode);
100 private static function initControlHelpers()
102 if (!static::$controlIsRendered)
104 Asset::getInstance()->addJs(
'/bitrix/js/iblock/iblock_edit.js');
105 static::$controlIsRendered =
true;
static requireModule($moduleName)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)
if(! $catalogEdit->isSuccess()) $iblock