Поддержка серверов

CWizardTemplate::GetLayout: метод Битрикс

Постоянная ссылка: http://bxapi.ru/src/?id=177937

<?php 
//    /bitrix/modules/main/classes/general/wizard.phpCWizardTemplate::GetLayout()
//    1211:

    
function GetLayout()
    {
        
$wizard $this->GetWizard();
        
$obStep $wizard->GetCurrentStep();

        
$wizardName htmlspecialcharsEx($wizard->GetWizardName());
        
$formName htmlspecialcharsbx($wizard->GetFormName());

        
$nextButtonID htmlspecialcharsbx($wizard->GetNextButtonID());
        
$prevButtonID htmlspecialcharsbx($wizard->GetPrevButtonID());
        
$cancelButtonID htmlspecialcharsbx($wizard->GetCancelButtonID());
        
$finishButtonID htmlspecialcharsbx($wizard->GetFinishButtonID());

        if (isset(
$GLOBALS["APPLICATION"]) && is_object($GLOBALS["APPLICATION"]))
        {
            
$GLOBALS["APPLICATION"]->AddHeadString($styles);
            
IncludeAJAX();
        }
        
//IncludeAJAX();

        
$styles = <<<STYLES
<style type="text/css">
            /*Data table*/
            table.wizard-data-table
            {
                border:1px solid #7d7d7d;
                border-collapse:collapse;
            }

            /*Any cell*/
            table.wizard-data-table td
            {
                border:1px solid #7d7d7d;
                background-color:#FFFFFF;
                padding:3px 5px;
            }

            /*Head cell*/
            table.wizard-data-table thead td, table.wizard-data-table th
            {
                background-color:#F2F2EA;
                font-weight:normal;
                background-image:none;
                border:1px solid #7d7d7d;
                padding:4px;
            }

            /*Body cell*/
            table.wizard-data-table tbody td
            {
                background-color:#FFF;
                background-image:none;
            }

            /*Foot cell*/
            table.wizard-data-table tfoot td
            {
                background-color:#fff;
                padding:4px;
            }

            .wizard-note-box
            {
                background:#EAE9E4;
                padding:7px;
                border:1px solid #797672;
            }

            .wizard-required
            {
                color:red;
            }
</style>
STYLES;
        
//$GLOBALS["APPLICATION"]->AddHeadString($styles);

        
$arErrors $obStep->GetErrors();
        
$strError "";
        if (
count($arErrors) > 0)
        {
            foreach (
$arErrors as $arError)
                
$strError .= $arError[0]."<br />";

            
$strError '<tr><td style="padding-top: 10px; padding-left: 20px; color:red;">'.$strError.'</td></tr>';
        }

        
$stepTitle $obStep->GetTitle();
        
$stepSubTitle $obStep->GetSubTitle();

        
$autoSubmit "";
        if (
$obStep->IsAutoSubmit())
            
$autoSubmit 'setTimeout("WizardAutoSubmit();", 500);';

        
$BX_ROOT BX_ROOT;

        
$alertText GetMessageJS("MAIN_WIZARD_WANT_TO_CANCEL");
        
$loadingText GetMessageJS("MAIN_WIZARD_WAIT_WINDOW_TEXT");

        return <<<HTML

{#FORM_START#}
<table style="border:2px outset #D4D0C8; background-color: #D4D0C8;" border="0" cellpadding="0" cellspacing="0" height="370" width="100%">
    <tr>
        <td style="background-color: #142F73" height="1"><span style="color:white; font-weight:bold; text-align:left; padding-left: 2px;">
{$wizardName}</span></td>
    </tr>

    <tr>
        <td style="height: 60px; border-bottom:2px groove  #aca899; background-color: #ffffff; padding: 8px;" valign="top">
            <div style="padding-top: 5px; padding-left: 20px;"><b>
{$stepTitle}</b></div>
            <div style="padding-left: 40px;">
{$stepSubTitle}</div>
        </td>
    </tr>

    
{$strError}

    <tr>
        <td style="padding: 20px; padding-left: 28px;padding-right: 28px;" valign="top" id="wizard-content-area" height="100%">{#CONTENT#}</td>
    </tr>

    <tr>
        <td style="height: 40px; border-top:2px groove #ffffff; padding-right: 15px;" align="right">{#BUTTONS#}</td>
    </tr>
</table>
{#FORM_END#}

<script type="text/javascript">

function WizardAutoSubmit()
{
    var nextButton = document.forms["
{$formName}"].elements["{$nextButtonID}"];
    if (nextButton)
    {
        WaitWindow.Show();

        nextButton.click();
        nextButton.disabled=true;
    }
}

function WizardOnLoad()
{
    
{$autoSubmit}

    var cancelButton = document.forms["
{$formName}"].elements["{$cancelButtonID}"];
    var nextButton = document.forms["
{$formName}"].elements["{$nextButtonID}"];
    var prevButton = document.forms["
{$formName}"].elements["{$prevButtonID}"];
    var finishButton = document.forms["
{$formName}"].elements["{$finishButtonID}"];

    if (cancelButton && !nextButton && !prevButton && !finishButton)
        cancelButton.onclick = CloseWindow;
    else if(cancelButton)
        cancelButton.onclick = ConfirmCancel;
}

function CloseWindow()
{
    window.location = '/';
    return false;
}

function ConfirmCancel()
{
    return (confirm("
{$alertText}"));
}

function CWaitWindow()
{
    this.Show = function()
    {
        try
        {
            var oDiv = document.createElement("DIV");
            oDiv.id = "__bx_wait_window";
            oDiv.style.width = "170px";
            oDiv.style.border = "1px solid #EACB6B";
            oDiv.style.textAlign = "center";
            oDiv.style.backgroundColor = "#FCF7D1";
            oDiv.style.position = "relative";
            oDiv.style.padding = "10px";
            oDiv.style.backgroundImage = "url(
{$BX_ROOT}/themes/.default/images/wait.gif)";
            oDiv.style.backgroundPosition = "10px center";
            oDiv.style.backgroundRepeat = "no-repeat";
            oDiv.style.left = "35%";
            oDiv.style.top = "50%";
            oDiv.style.zIndex = "3000";
            oDiv.innerHTML = "
{$loadingText}";
            document.getElementById("wizard-content-area").appendChild(oDiv);
        }
        catch(e){}
    }

    this.Hide = function()
    {
        try
        {
            var oDiv = document.getElementById("__bx_wait_window");
            oDiv.parentNode.removeChild(oDiv);
            oDiv = null;
        }catch(e){}
    }
}

var WaitWindow = new CWaitWindow();
WizardOnLoad();

</script>

HTML;
    }

Блог разработчика

9 Августа 2016 ResizeImageGet и простой водяной знак налету

Сегодня поговорим о том как проще всего воткнуть водяной знак на картинки в Битрикс. Например, на все изображения каталога.

21 Июля 2016 Добавление вкладки в CRM коробки Битрикс24

В этом посте я покажу, как легко и просто добавить вкладку в сущность CRM. И не просто добавить, а вывести там свой контент.

21 Июля 2016 Как просто обращаться из коробки Битрикс24 на сайт на базе Битрикс

К примеру вам хочется внутренним скриптом дернуть с сайта-магазина информацию, которая там, в свою очередь, закрыта некоторыми правами. Например, админскими. Можно конечно мутить свой REST, или иной формат общения, но проще всего воспользоваться штатным инструментом:

Текст сообщения*
Загрузить изображение