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

GetVar

Описание и параметры

mixed
GetVar(
 string varName,
 bool useDefault = false
);

Метод возвращает значение переменной varName. Если значение для переменной varName не установлено и параметр useDefault установлен в значение true, метод возвратит значение переменной по умолчанию, иначе возвратит null.

Параметры функции

Параметр Описание
varName Имя переменной, значение которой необходимо получить. Имя переменной может быть составным, например, myvar[key].
useDefault Использовать значение по умолчанию, если значение переменной не установлено. Необязательный параметр, по умолчанию равен false (не использовать значение по умолчанию).

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

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

<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

class Step1 extends CWizardStep
{
    function InitStep()
    {
        //Настройки шага
        $this->SetTitle("Множественный checkbox");
        $this->SetNextStep("step2");
        $this->SetStepID("step1");
        $this->SetCancelStep("final");
        $this->SetFinishStep("step4");

        //Получаем ссылку на объект мастера
        $wizard = &$this->GetWizard();

        //Устанавливаем для переменной vote[car] значение по умолчанию
        $wizard->SetDefaultVar("vote[car]", "reno");

        //Устанавливаем значения по умолчанию нескольким переменным
        $wizard->SetDefaultVars(
            Array(
                "vote[country]" => Array("poland", "lietva"),
                "subject" => "history",
            )
        );
    }

    function ShowStep()
    {
        $wizard = &$this->GetWizard();
        $this->content = "В каких странах вы были?<br />";
        $this->content .= $this->ShowCheckboxField("vote[country][]", "russia")." Россия<br />";
        $this->content .= $this->ShowCheckboxField("vote[country][]", "usa")." США<br />";
        $this->content .= $this->ShowCheckboxField("vote[country][]", "poland")." Польша<br />";
        $this->content .= $this->ShowCheckboxField("vote[country][]", "lietva")." Литва<br />";

        $this->content .= "<br />Ваши любимые марки авто?<br />";
        $this->content .= $this->ShowCheckboxField("vote[car][]", "bmw")." BMW<br />";
        $this->content .= $this->ShowCheckboxField("vote[car][]", "hyundai")." Hyundai<br />";
        $this->content .= $this->ShowCheckboxField("vote[car][]", "vaz")." Ваз<br />";
        $this->content .= $this->ShowCheckboxField("vote[car][]", "reno")." Рено<br />";

        $this->content .= "<br />Какие науки Вас интересуют?<br />";
        $this->content .= $this->ShowCheckboxField("subject[]", "math")." Математика<br />";
        $this->content .= $this->ShowCheckboxField("subject[]", "history")." История<br />";
        $this->content .= $this->ShowCheckboxField("subject[]", "programming")." Программирование<br />";
        $this->content .= $this->ShowCheckboxField("subject[]", "physics")." Физика<br />";

        //Устанавливаем переменную myVar.
        //Значение будет доступно на следующем шаге
        $wizard->SetVar("myVar", Array("AAA", "BBB", "CCC"));
    }
}

class Step2 extends CWizardStep
{
    function InitStep()
    {
        //Настройки шага
        $this->SetTitle("Шаг отладки");
        $this->SetSubTitle("Смотрим переменные");
        $this->SetPrevStep("step1");
        $this->SetNextStep("step3");
        $this->SetStepID("step2");
        $this->SetCancelStep("final");
        $this->SetFinishStep("step4");
    }

    function ShowStep()
    {
        $wizard = &$this->GetWizard();

        $this->content .= "Переменная vote[car]: ".print_r($wizard->GetVar("vote[car]"), true)."<br />";
        $this->content .= "Значение по умолчанию для vote[car]: ".print_r($wizard->GetDefaultVar("vote[car]"), true)."<br />";
        $this->content .= "Значение всех переменных мастера:";
        $this->content .= "<pre>".print_r($wizard->GetVars(), true)."</pre>";
        
    }
}


class Step3 extends CWizardStep
{
    function InitStep()
    {
        $this->SetPrevStep("step2");
        $this->SetNextStep("step4");
        $this->SetStepID("step3");
        $this->SetCancelStep("final");
        $this->SetFinishStep("step4");
        $this->SetTitle("Множественный select с дефолтными значениями");

        $wizard = &$this->GetWizard();
        $wizard->SetDefaultVars(
            Array(
                "operation[os]" => Array("windows"),
                "mathematics[twoandwo]" => Array("four", "twotwo"),
            )
        );
    }

    function ShowStep()
    {
        $wizard = &$this->GetWizard();

        //Уничтожаем переменную myVar
        $wizard->UnSetVar("myVar");

        $this->content = "Какая ОС стоит на вашем рабочем компьютере?<br />";
        $this->content .= $this->ShowSelectField(
            "operation[os][]", 
            Array(
                "linux" => "Linux", 
                "windows" => "Windows", 
                "freebsd" => "FreeBSD", 
                "macos" => "MacOS",
                "dos" => "MS DOS",
            ), 
            Array("multiple" => "multiple")
        );

        $this->content .= "<br /><br />Сколько будет 2+2?<br />";

        $this->content .= $this->ShowSelectField(
            "mathematics[twoandwo][]", 
            Array(
                "four" => "Четыре", 
                "five" => "Пять", 
                "twotwo" => "Двадцать два", 
                "two_plus_two" => "Два плюс Два",
            ), 
            Array("multiple" => "multiple")
        );
    }
}

class Step4 extends CWizardStep
{
    function InitStep()
    {
        $this->SetPrevStep("step3");
        $this->SetStepID("step4");
        $this->SetTitle("Шаг отладки");
        $this->SetSubTitle("Смотрим переменные");
        $this->SetCancelStep("final");
    }

    function ShowStep()
    {
        $wizard = &$this->GetWizard();

        $this->content .= "Переменные мастера с учётом дефолтных значений:";
        $this->content .= "<pre>".print_r($wizard->GetVars($useDefault = true), true)."</pre>";
    }
}

class FinalStep extends CWizardStep
{
    function InitStep()
    {
        $this->SetStepID("final");
        $this->SetTitle("Финиш");
        $this->SetCancelStep("final");
    }

    function ShowStep()
    {
        $this->content = "Последний шаг";
    }
}
?>

Описание классов в файле .description.php

<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();

$arWizardDescription = Array(
    "NAME" => "Дефолтные значения", 
    "STEPS" => Array("Step1", "Step15", "Step2", "Step3", "Step4", "Step5", "FinalStep"),
);

?>


Пользовательские комментарии

Мы будем рады, если разработчики добавят свои комментарии по практическому использованию методов системы.

Для этого нужно всего лишь авторизоваться на сайте

Но помните, что Пользовательские комментарии, несмотря на модерацию, не являются официальной документацией. Ответственность за их использование несет сам пользователь.

Также Пользовательские комментарии не являются местом для обсуждения функционала. По подобным вопросам обращайтесь на форумы.
© «Битрикс», 2001-2021, «1С-Битрикс», 2021
Наверх