Документация для разработчиков
Темная тема

GetFormName

Описание

string
GetFormName();

Метод возвращает значение атрибута name формы мастера (тега <form>).

Смотрите также

Примеры использования

<?
class MyRedTemplate extends CWizardTemplate
{
    function GetLayout()
    {
        //Получаем ссылку на объект мастера
        $wizard = &$this->GetWizard();

        $formName = $wizard->GetFormName(); //имя формы
        $wizardName = $wizard->GetWizardName(); //имя мастера
        $charset = LANG_CHARSET; //текушая кодировка

        //Получаем значения атрибута name кнопок мастера
        $nextButtonID = $wizard->GetNextButtonID();
        $prevButtonID = $wizard->GetPrevButtonID();
        $cancelButtonID = $wizard->GetCancelButtonID();
        $finishButtonID = $wizard->GetFinishButtonID();

        //Получаем ссылку на объект текущего шага
        $obStep =& $wizard->GetCurrentStep();

        $stepTitle = $obStep->GetTitle(); //Заголовок шага
        $stepSubTitle = $obStep->GetSubTitle(); //Подзаголовк шага

        //Получим ошибки шага
        $arErrors = $obStep->GetErrors();
        $strError = "";
        if (count($arErrors) > 0)
        {
            foreach ($arErrors as $arError)
                $strError .= $arError[0]."<br />";

            $strError = '<div id="step_error">'.$strError.'</span>';
        }

        /*
            Возвращаем HTML-код шаблона, в котором обязательно 
            должны быть определны следующие макросы:
                {#FORM_START#} - начало формы
                {#CONTENT#} - содержимое текущего шага
                {#BUTTONS#} - кнопки навигации
                {#FORM_END#} - конец формы
        */
        return <<<HTML
<html>
    <head>
        <title>{$wizardName}</title>
        <meta http-equiv="Content-Type" content="text/html; charset={$charset}">
        <style type="text/css">
            body
            {
                margin:0; padding:0; background-color: #FFDEDE; 
                font-family:Verdana,Arial,helvetica,sans-serif;font-size:75%;
            }
            table {font-size:100%;}
            form {margin:0;}
            #border-box{margin:2px 2px 0 2px; border:1px dashed red;}
            #step_info
            {
                height:45px;padding:8px 30px;border-bottom:1px dashed red;
                box-sizing:border-box;-moz-box-sizing:border-box;overflow:hidden;background:#FFC4C4;
            }
            #step_title{font-weight:bold;}
            #step_description {font-size:95%; margin-left:10px;}
            #step_content {padding:20px 20px;box-sizing:border-box;-moz-box-sizing:border-box;float:left;}
            #step_buttons
            { 
                height:50px; text-align:right; padding-right:20px; padding-top:5px; 
                overflow:hidden; box-sizing:border-box;-moz-box-sizing:border-box;
            }
            #step_content_container { height:290px; overflow:auto;background:#fff;}
            #step_error {color:red; margin:6px;}
        </style>

        <script type="text/javascript">

            function OnLoad()
            {
                /*Установим в окошке мастера заголовок*/
                var title = self.parent.window.document.getElementById("wizard_dialog_title");
                if (title)
                    title.innerHTML = "{$wizardName}";

                /*Получаем объект формы*/
                var form = document.forms["{$formName}"];

                if (!form)
                    return;

                /*Получаем объекты кнопок*/
                var cancelButton = form.elements["{$cancelButtonID}"];
                var nextButton = form.elements["{$nextButtonID}"];
                var prevButton = form.elements["{$prevButtonID}"];
                var finishButton = form.elements["{$finishButtonID}"];

                /*Если в шаге только кнопка Отмена, то закроем окно мастера,
                    иначе запросим подтверждение*/
                if (cancelButton && !nextButton && !prevButton && !finishButton)
                    cancelButton.onclick = CloseWindow;
                else if(cancelButton)
                    cancelButton.onclick = ConfirmCancel;
            }

            /*Подтвержение по кнопке Отмена*/
            function ConfirmCancel()
            {
                return (confirm("Вы действительно хотите прервать мастер?"));
            }

            /*Закроем окошко мастера*/
            function CloseWindow()
            {
                if (self.parent.window.WizardWindow)
                    self.parent.window.WizardWindow.Close();
            }

        </script>
    </head>
    <body onload="OnLoad();">
        {#FORM_START#}
            <div id="border-box">
                <div id="step_info">
                    <div id="step_title">{$stepTitle}</div>
                    <div id="step_description">{$stepSubTitle}</div>
                </div>
                <div id="step_content_container">
                    {$strError}
                    <div id="step_content">{#CONTENT#}</div>
                </div>
            </div>
            <div id="step_buttons">{#BUTTONS#}</div>
        {#FORM_END#}
    </body>
</html>
HTML;
    }
}
?>


© «Битрикс», 2001-2021, «1С-Битрикс», 2021
Наверх