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

SetDefaultVar

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

void
SetDefaultVar(
	string varName,
	string varValue
);

Метод устанавливает для переменной varName значение по умолчанию varValue.

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

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

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

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

<?
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-2024, «1С-Битрикс», 2024
Наверх