Добрый день! Подскажите пожалуйста, где взять описание каким образом программируются поля настроек модуля.
Пробую сейчас написать свой модуль. Делаю для него страницу настроек в админке.
Создал файл options.php, вот его содержимое:
Не могу нигде нагуглить - как правильно описать массив OPTIONS так, чтобы вывести на страницу поле типа "Файл" - чтобы можно было загружать файлы в разделе с настройками модуля.
В конечном счёте нужно, чтобы была возможность загружать CSV файл, и чтобы модуль уже считывал этот файл, и раскидывал бы данные по нужным таблицам. Логика уже написала, а вот правильно написать страницу с настройками модуля пока не получается. Помогите пожалуйста.
Пока что не могу вывести поле типа "Файл"
Пробую сейчас написать свой модуль. Делаю для него страницу настроек в админке.
Создал файл options.php, вот его содержимое:
Код |
---|
<?php use Bitrix\Main\Localization\Loc; use Bitrix\Main\Config\Option; $request = \Bitrix\Main\HttpApplication::getInstance()->getContext()->getRequest(); $moduleId = $request->get('mid'); //Загружаем языковые сообщения для указанного файла Loc::loadMessages($_SERVER["DOCUMENT_ROOT"] . BX_ROOT . "/modules/main/options.php"); Loc::loadMessages(__FILE__); \Bitrix\Main\Loader::includeModule($moduleId); //Опции модуля. Каждый элемент массива $aTabs - это новая вкладка $aTabs = [ [ "DIV" => "tab1",//Ячейки с ключами DIV - идентификатор ячейки "TAB" => "Настройки",//TAB - имя ячейки, которое подписано на самой вкладке "TITLE" => "Опции модуля", //"CONTENT"=>"Содержимое вкладки", "OPTIONS"=>[//OPTIONS - массив опций настроек модуля, которые имеются на данной вкладке [ 'option1_name',//Ключ опции, или имя поля у формы 'Подпись опции',//Имя поля на русском языке '',//Значение опции по-умолчанию /*[//Массив, описывающий само поле формы 'selectbox', ['1','2','3'] ]*/ ['selectbox', ['key1'=>'val1','key2'=>'val2']] ], [ 'option2_name',//Ключ опции, или имя поля у формы 'Подпись опции 2',//Имя поля на русском языке '',//Значение опции по-умолчанию /*[//Массив, описывающий само поле формы 'selectbox', ['1','2','3'] ]*/ ['file'] ] ] ] ]; //Вывод вкладок $tabControl = new CAdminTabControl("tabControl", $aTabs); $tabControl->Begin();?> <fo rm method="post" action='<?=$request->getRequestUri() ?>'> <? foreach ($aTabs as $aTab){ if ($aTab['OPTIONS']){ $tabControl->BeginNextTab(); __AdmSettingsDrawList($moduleId, $aTab['OPTIONS']); } } $tabControl->Buttons(); ?> <input type="submit" name="Update" value="Сохранить" /> <input type="reset" name="reset" value="Сбросить" /> <?= bitrix_sessid_post(); ?> </form> <?php $tabControl->End();?> |
В конечном счёте нужно, чтобы была возможность загружать CSV файл, и чтобы модуль уже считывал этот файл, и раскидывал бы данные по нужным таблицам. Логика уже написала, а вот правильно написать страницу с настройками модуля пока не получается. Помогите пожалуйста.
Пока что не могу вывести поле типа "Файл"