Открытие страниц в модальном окне

Материал из Центр поддержки системы бронировании
Перейти к навигации Перейти к поиску

В системе Nemo существует возможность для некоторых страниц задать открытие в модальном окне.
В общем случае режим открытия страницы задается с помощью GET-параметра popup=true.
Для предустановки открытия страницы в модальном окне достаточно задать этот параметр для ссылки на страницу в соответствующем шаблоне.

Форма авторизации пользователя

Форма авторизации предназначена для входа в систему зарегистрированных ранее пользователей, что влечет за собой определение заданного для них набора настроек и прав в системе.

В большинстве случаев блок авторизации и регистрации пользователей задается в системе управления контентом — выносится в отдельный блок на макете системных страниц (название по умолчанию — «Информация об авторизованном пользователе»).
В этом случае для открытия формы авторизации в модальном окне в шаблоне этого блока ссылка на авторизацию должна формироваться таким образом:

smarty код: {go_and_back controller='authorization' action='auth_client' get='popup=true'}
URL: http://domain/authorization__auth_client?popup=true

Форма регистрации пользователя

Форма регистрации пользователей содержит в себе настраиваемый набор полей для внесения в базу необходимой информации о пользователе.

Для открытия формы регистрации в модальном окне в шаблоне блока информации об авторизованном пользователе ссылка на регистрацию должна формироваться таким образом:

 <script src="{$base_url}/static/js/authorization/reg-popup.js"></script>

				{registrationForms}

			{if isset($registrationFormsData.b2c)}
				<span>
					<a href="{url controller='authorization' action='registration' get=''}"
					   data-closetext="{'pro-popup_close'|language}"
					   class="{if $registrationFormsData.b2c->popup}pro-auth-pseudolink js-registration-link js-registration-link_b2c{/if}"
					   data-thickbox="{literal}{outerClass: 'pro-registration-popup'}{/literal}">
						{if $registrationFormsData.b2c->popup}
							<span class="pro-auth-pseudolink_span">
								{'registration'|language}
							</span>
						{else}
							{'registration'|language}
						{/if}
					</a>
				</span>
                        {/if}

				{if $registrationFormsData.b2c->popup}
					<div class="js-registration-formcontainer_b2c" style="display: none;">
						{include file="registration_inline.tpl" form=$registrationFormsData.b2c}
					</div>
				{/if}

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

При коректно внесенном в шаблон коде вывода формы, дальнейшее определение выводить ее в модальном окне или на отдельной странице определяется настройкой «Регистрация в попапе» в разделе «Администрирование» — «Процесс регистрации».

См. также