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

DisableAdminTemplate

Описание

void
DisableAdminTemplate();

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

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

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

<?
if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
class Step1 extends CWizardStep
{
	function InitStep()
	{
		$this->SetTitle("Первый шаг");
		$this->SetStepID("step1");
		$this->SetNextStep("step2");
		$this->SetCancelStep("cancel");
	}
	function ShowStep()
	{
		$this->content .= "Шаг 1";
	}
}
class Step2 extends CWizardStep
{
	function InitStep()
	{
		$this->SetTitle("Второй шаг");
		$this->SetStepID("step2");
		$this->SetNextStep("step3");
		$this->SetPrevStep("step1");
		$this->SetCancelStep("cancel");
	}
}
class Step3 extends CWizardStep
{
	function InitStep()
	{
		$this->SetStepID("step3");
		$this->SetPrevStep("step2");
		$this->SetCancelStep("cancel");
		$this->SetTitle("Третий шаг");
	}
}
class CancelStep extends CWizardStep
{
	function InitStep()
	{
		$this->SetStepID("cancel");
		$this->SetCancelStep("cancel");
	}
	function ShowStep()
	{
		$this->content .= "Отмена";
	}
}
//Красный шаблон мастера
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;
	}
}
//Создаем мастер
$wizard = new CWizardBase("Мой мастер", $package);
//Запретим применять системный шаблон по умолчанию 
//при запуске мастера из административного раздела
$wizard->DisableAdminTemplate();
//Добавляем шаги
$wizard->AddSteps(Array("Step1", "Step2", "Step3", "CancelStep"));
//Определим для всех шагов красный шаблон
$wizard->SetTemplate(new MyRedTemplate);
//Выводим на экран
$wizard->Display();
?>


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

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

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

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

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