Поддержка серверов

CUserTypeIBlockElement::GetSettingsHTML: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=163994

<?php 
//    /bitrix/modules/main/classes/general/usertypeelement.phpCUserTypeIBlockElement::GetSettingsHTML()
//    42:

    
function GetSettingsHTML($arUserField false$arHtmlControl$bVarsFromForm)
    {
        
$result '';

        if(
$bVarsFromForm)
            
$iblock_id $GLOBALS[$arHtmlControl["NAME"]]["IBLOCK_ID"];
        elseif(
is_array($arUserField))
            
$iblock_id $arUserField["SETTINGS"]["IBLOCK_ID"];
        else
            
$iblock_id "";
        if(
CModule::IncludeModule('iblock'))
        {
            
$result .= '
            <tr>
                <td>'
.GetMessage("USER_TYPE_IBEL_DISPLAY").':</td>
                <td>
                    '
.GetIBlockDropDownList($iblock_id$arHtmlControl["NAME"].'[IBLOCK_TYPE_ID]'$arHtmlControl["NAME"].'[IBLOCK_ID]'false'class="adm-detail-iblock-types"''class="adm-detail-iblock-list"').'
                </td>
            </tr>
            '
;
        }
        else
        {
            
$result .= '
            <tr>
                <td>'
.GetMessage("USER_TYPE_IBEL_DISPLAY").':</td>
                <td>
                    <input type="text" size="6" name="'
.$arHtmlControl["NAME"].'[IBLOCK_ID]" value="'.htmlspecialcharsbx($value).'">
                </td>
            </tr>
            '
;
        }

        if(
$bVarsFromForm)
            
$ACTIVE_FILTER $GLOBALS[$arHtmlControl["NAME"]]["ACTIVE_FILTER"] === "Y""Y""N";
        elseif(
is_array($arUserField))
            
$ACTIVE_FILTER $arUserField["SETTINGS"]["ACTIVE_FILTER"] === "Y""Y""N";
        else
            
$ACTIVE_FILTER "N";

        if(
$bVarsFromForm)
            
$value $GLOBALS[$arHtmlControl["NAME"]]["DEFAULT_VALUE"];
        elseif(
is_array($arUserField))
            
$value $arUserField["SETTINGS"]["DEFAULT_VALUE"];
        else
            
$value "";
        if((
$iblock_id 0) && CModule::IncludeModule('iblock'))
        {
            
$result .= '
            <tr>
                <td>'
.GetMessage("USER_TYPE_IBEL_DEFAULT_VALUE").':</td>
                <td>
                    <select name="'
.$arHtmlControl["NAME"].'[DEFAULT_VALUE]" size="5">
                        <option value="">'
.GetMessage("IBLOCK_VALUE_ANY").'</option>
            '
;

            
$arFilter = Array("IBLOCK_ID"=>$iblock_id);
            if(
$ACTIVE_FILTER === "Y")
                
$arFilter["ACTIVE"] = "Y";

            
$rs CIBlockElement::GetList(
                array(
"NAME" => "ASC""ID" => "ASC"),
                
$arFilter,
                
false,
                
false,
                array(
"ID""NAME")
            );
            while(
$ar $rs->GetNext())
                
$result .= '<option value="'.$ar["ID"].'"'.($ar["ID"]==$value" selected""").'>'.$ar["NAME"].'</option>';

            
$result .= '</select>';
        }
        else
        {
            
$result .= '
            <tr>
                <td>'
.GetMessage("USER_TYPE_IBEL_DEFAULT_VALUE").':</td>
                <td>
                    <input type="text" size="8" name="'
.$arHtmlControl["NAME"].'[DEFAULT_VALUE]" value="'.htmlspecialcharsbx($value).'">
                </td>
            </tr>
            '
;
        }

        if(
$bVarsFromForm)
            
$value $GLOBALS[$arHtmlControl["NAME"]]["DISPLAY"];
        elseif(
is_array($arUserField))
            
$value $arUserField["SETTINGS"]["DISPLAY"];
        else
            
$value "LIST";
        
$result .= '
        <tr>
            <td class="adm-detail-valign-top">'
.GetMessage("USER_TYPE_ENUM_DISPLAY").':</td>
            <td>
                <label><input type="radio" name="'
.$arHtmlControl["NAME"].'[DISPLAY]" value="LIST" '.("LIST"==$value'checked="checked"''').'>'.GetMessage("USER_TYPE_IBEL_LIST").'</label><br>
                <label><input type="radio" name="'
.$arHtmlControl["NAME"].'[DISPLAY]" value="CHECKBOX" '.("CHECKBOX"==$value'checked="checked"''').'>'.GetMessage("USER_TYPE_IBEL_CHECKBOX").'</label><br>
            </td>
        </tr>
        '
;

        if(
$bVarsFromForm)
            
$value intval($GLOBALS[$arHtmlControl["NAME"]]["LIST_HEIGHT"]);
        elseif(
is_array($arUserField))
            
$value intval($arUserField["SETTINGS"]["LIST_HEIGHT"]);
        else
            
$value 5;
        
$result .= '
        <tr>
            <td>'
.GetMessage("USER_TYPE_IBEL_LIST_HEIGHT").':</td>
            <td>
                <input type="text" name="'
.$arHtmlControl["NAME"].'[LIST_HEIGHT]" size="10" value="'.$value.'">
            </td>
        </tr>
        '
;

        
$result .= '
        <tr>
            <td>'
.GetMessage("USER_TYPE_IBEL_ACTIVE_FILTER").':</td>
            <td>
                <input type="checkbox" name="'
.$arHtmlControl["NAME"].'[ACTIVE_FILTER]" value="Y" '.($ACTIVE_FILTER=="Y"'checked="checked"''').'>
            </td>
        </tr>
        '
;

        return 
$result;
    }

Блог разработчика

9 Августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 Июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 Июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение