- Модуль: lists
- Путь к файлу: ~/bitrix/modules/lists/classes/general/listfields.php
- Класс: CListFieldList
- Вызов: CListFieldList::_save_form_settings
protected function _save_form_settings($form_id)
{
if($form_id && $this->iblock_id)
{
$arFormLayout = array();
$arFormLayout[] = "edit1--#--".CIBlock::GetArrayByID($this->iblock_id, "ELEMENT_NAME");
foreach($this->fields as $field_id => $sort)
{
/** @var CListField $obField */
$obField = $this->fields[$field_id];
$arFormLayout[] =
$obField->GetID()
."--#--"
.($obField->IsRequired()? "*": "")
.str_replace("-", "", $obField->GetLabel())
;
}
$tab1 = implode("--,--", $arFormLayout);
$arFormLayout = array();
$arFormLayout[] = "edit2--#--".CIBlock::GetArrayByID($this->iblock_id, "SECTION_NAME");
$arFormLayout[] = "SECTIONS--#--".CIBlock::GetArrayByID($this->iblock_id, "SECTION_NAME");
$tab2 = implode("--,--", $arFormLayout);
global $USER;
if (is_object($USER) && ((get_class($USER) === 'CUser') || ($USER instanceof CUser)))
CUserOptions::DeleteOption("form", $form_id); //This clears custom user settings
CUserOptions::SetOption("form", $form_id, array("tabs" => $tab1."--;--".$tab2."--;--"), true);
}
}