Битрикс: main.tree.selector или о том как сделать выбор элементов инфоблока

Ключевые нюансы:
1. Указываем  IBLOCK_TYPE_ID  и  IBLOCK_ID  в параметрах компонента.
2. Указываем верное имя  SELECT_ELEMENTS  для передачи данных из формы.


<?php
$name = $APPLICATION->IncludeComponent(
    'bitrix:main.tree.selector',
    'iblockedit',
    array(
        "INPUT_NAME" => '',
        'ONSELECT' => 'on_element_select',
        'MULTIPLE' => 'Y',
        'SHOW_INPUT' => 'N',
        'SHOW_BUTTON' => 'N',
        'GET_FULL_INFO' => 'Y',
        "IBLOCK_TYPE_ID" => IBLOCK_TYPE_ID,
        "IBLOCK_ID" => IBLOCK_ID,
    ), null, array()
);
?>
<script>
    function on_element_select(list) {
        var btn = document.getElementById('element_select_button');
        var names = [];

        var cnt = document.getElementById('element_select_container');
        var id_inputs = "";
        
        for (var i = list.length - 1; i >= 0; i--) {
            names.push(list[i].NAME);
            id_inputs += '<input type="hidden" name="SELECT_ELEMENTS[' + i + ']" value="' + list[i].ID + '" />';
        }

        cnt.innerHTML = id_inputs;
        btn.value = names.join(", ");
    }
</script>
<input id="element_select_button" type="button" onclick="<?=$name?>.Show()" value="...">
<div id="element_select_container"></div>

Комментарии

Популярные сообщения из этого блога

Bitrix: кнопка добавить в корзину

Битрикс: какого х*я ты ищешь в неактивных разделах

Битрикс: highloadblock значения в свойстве список