Set
Описание и параметры
mixed CForm::Set( array fields, mixed form_id = false, string check_rights = "Y" )
Добавляет новую веб-форму или обновляет заданную. Возвращает ID обновленной или добавленной веб-формы в случае положительного результата, в противном случае - "false". Метод нестатический.
Примечание
При обновлении существующей веб-формы (или при добавлении новой веб-формы), автоматически обновляется тип почтового события (либо создаётся новый тип).
Параметры метода
Параметр | Описание |
---|---|
fields | Массив значений полей; в качестве ключей массива допустимы:
|
form_id | ID обновляемой веб-формы. Параметр необязательный. По умолчанию - "false" (добавление новой веб-формы). |
check_rights | Флаг необходимости проверки прав текущего пользователя. Возможны следующие значения:
Параметр необязательный. По умолчанию - "Y" (права необходимо проверить). |
Смотрите также
Примеры использования
<? /************************************************* Добавление веб-формы *************************************************/ // создадим массив описывающий изображение // находящееся в файле на сервере $arIMAGE = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/images/web_form.gif"); $arIMAGE["MODULE_ID"] = "form"; $arFields = array( "NAME" => "Анкета посетителя", "SID" => "VISITOR_FORM", "C_SORT" => 300, "BUTTON" => "Сохранить", "DESCRIPTION" => "Заполните пож-та анкету", "DESCRIPTION_TYPE" => "text", "STAT_EVENT1" => "form", "STAT_EVENT2" => "visitor_form", "arSITE" => array("r1"), "arMENU" => array("ru" => "Анкета посетителя", "en" => "Visitor Form"), "arGROUP" => array("2" => "15", "3" => "20"), "arIMAGE" => $arIMAGE ); // добавим новую веб-форму $NEW_ID = CForm::Set($arFields); if ($NEW_ID>0) echo "Добавлена веб-форма с ID=".$NEW_ID; else // ошибка { // выводим текст ошибки global $strError; echo $strError; } ?>
<? // пример обновления веб-формы параметры которой были визуально // отредактированы в административной части $w = CGroup::GetList($v1, $v2, Array("ADMIN"=>"N"), $v3); $arGroups = array(); while ($wr=$w->Fetch()) $arGroups[] = array("ID"=>$wr["ID"], "NAME"=>$wr["NAME"]); $z = CLanguage::GetList($v1, $v2, array("ACTIVE" => "Y")); $arFormMenuLang = array(); while ($zr=$z->Fetch()) $arFormMenuLang[] = array("LID"=>$zr["LID"], "NAME"=>$zr["NAME"]); $rs = CSite::GetList(($by="sort"), ($order="asc")); while ($ar = $rs->Fetch()) { if ($ar["DEF"]=="Y") $def_site_id = $ar["ID"]; $arrSites[$ar["ID"]] = $ar; } if ((strlen($save)>0 || strlen($apply)>0) && $REQUEST_METHOD=="POST") { $arIMAGE_ID = $HTTP_POST_FILES["IMAGE_ID"]; $arIMAGE_ID["MODULE_ID"] = "form"; $arIMAGE_ID["del"] = ${"IMAGE_ID_del"}; $arFields = array( "NAME" => $NAME, "SID" => $SID, "C_SORT" => $C_SORT, "BUTTON" => $BUTTON, "DESCRIPTION" => $DESCRIPTION, "DESCRIPTION_TYPE" => $DESCRIPTION_TYPE, "FILTER_RESULT_TEMPLATE" => $FILTER_RESULT_TEMPLATE, "TABLE_RESULT_TEMPLATE" => $TABLE_RESULT_TEMPLATE, "STAT_EVENT1" => $STAT_EVENT1, "STAT_EVENT2" => $STAT_EVENT2, "STAT_EVENT3" => $STAT_EVENT3, "arIMAGE" => $arIMAGE_ID, "arSITE" => $arSITE, "arMAIL_TEMPLATE" => $arMAIL_TEMPLATE ); // меню $arMENU = array(); reset($arFormMenuLang); while (list(,$arrL)=each($arFormMenuLang)) { $var = "MENU_".$arrL["LID"]; global $$var; $arMENU[$arrL["LID"]] = $$var; } $arFields["arMENU"] = $arMENU; // права доступа $arGROUP = array(); reset($arGroups); while (list(,$arrG)=each($arGroups)) { $var = "PERMISSION_".$arrG["ID"]; global $$var; $arGROUP[$arrG["ID"]] = $$var; } $arFields["arGROUP"] = $arGROUP; if ($ID = CForm::Set($arFields, $ID)) { if (strlen($strError)<=0) { if (strlen($save)>0) LocalRedirect("form_list.php?lang=".LANGUAGE_ID); else LocalRedirect("form_edit.php?ID=".$ID."〈=".LANGUAGE_ID); } } $DB->PrepareFields("b_form"); } ?>
© «Битрикс», 2001-2024, «1С-Битрикс», 2024
Пользовательские комментарии
Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.Для этого нужно всего лишь авторизоваться на сайте
Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.
Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.