Добрый день! Подскажите пожалуйста, где взять описание каким образом программируются поля настроек модуля.
Пробую сейчас написать свой модуль. Делаю для него страницу настроек в админке.
Создал файл 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 файл, и чтобы модуль уже считывал этот файл, и раскидывал бы данные по нужным таблицам. Логика уже написала, а вот правильно написать страницу с настройками модуля пока не получается. Помогите пожалуйста.
Пока что не могу вывести поле типа "Файл"