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

GetCancelButtonID

Описание

string
GetCancelButtonID();

Возвращает значение атрибута name кнопки Отмена.

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

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

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