Bitrix Site Manager


 string table,
 string prefix = "str_",
 string postfix = ""

The method PrepareFields prepares global variables corresponding to the names of fields of the table for writing to the database.

The method creates global variables in the form of ${prefix.field_name.postfix} and sets its values to those of global variables with names as per table field names. All the required type conversion is done automatically.

For example, fields of the int type are defined and evaluated as follows:

${prefix.field_name.postfix} = intval(${field_name});

Field of the type varchar:

${prefix.field_name.postfix} = CDatabase::ForSql(${field_name}, field_size);

The method operates variables of the global scope. Keep this fact in mind when creating main files of components.


table Name of the table. 
prefix Prefix for variables.
Optional; "str_" by default.
postfix Suffix variables.
Optional; the default value is an empty string.

See Also


if (strlen($save)>0)
    if (CheckFields())
        $arFields = array(
            "TIMESTAMP_X"             => $DB->GetNowFunction(),
            "NAME"                    => "'".trim($str_NAME)."'",
            "VARNAME"                 => "'".trim($str_VARNAME)."'",
            "C_SORT"                  => "'".intval($str_C_SORT)."'",
            "FIRST_SITE_ID"           => "'".$DB->ForSql($FIRST_SITE_ID,2)."'",
            "BUTTON"                  => "'".$str_BUTTON."'",
            "DESCRIPTION"             => "'".$str_DESCRIPTION."'",
            "DESCRIPTION_TYPE"        => "'".$str_DESCRIPTION_TYPE."'",
            "SHOW_TEMPLATE"           => "'".trim($str_SHOW_TEMPLATE)."'",
            "MAIL_EVENT_TYPE"         => "'".$DB->ForSql("FORM_FILLING_".$str_VARNAME,50)."'",
            "SHOW_RESULT_TEMPLATE"    => "'".trim($str_SHOW_RESULT_TEMPLATE)."'",
            "PRINT_RESULT_TEMPLATE"   => "'".trim($str_PRINT_RESULT_TEMPLATE)."'",
            "EDIT_RESULT_TEMPLATE"    => "'".trim($str_EDIT_RESULT_TEMPLATE)."'",
            "FILTER_RESULT_TEMPLATE"  => "'".trim($str_FILTER_RESULT_TEMPLATE)."'",
            "TABLE_RESULT_TEMPLATE"   => "'".trim($str_TABLE_RESULT_TEMPLATE)."'",
            "STAT_EVENT1"             => "'".trim($str_STAT_EVENT1)."'",
            "STAT_EVENT2"             => "'".trim($str_STAT_EVENT2)."'",
            "STAT_EVENT3"             => "'".trim($str_STAT_EVENT3)."'"
        if ($ID>0) 
            $DB->Update("b_form", $arFields, "WHERE ID='".$ID."'", $err_mess.__LINE__);
            $ID = $DB->Insert("b_form", $arFields, $err_mess.__LINE__);
        $ID = intval($ID);
        if (strlen($strError)<=0) 
            if (strlen($save)>0) LocalRedirect("form_list.php?lang=".LANGUAGE_ID);
            elseif ($new=="Y") LocalRedirect("form_edit.php?lang=".LANGUAGE_ID."&ID=".$ID);