Открытие страниц в модальном окне
В системе Nemo.travel существует возможность для некоторых страниц задать открытие в модальном окне.
В общем случае режим открытия страницы задается с помощью 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-классы, остальные можно осторожно переопределять.
При коректно внесенном в шаблон коде вывода формы, дальнейшее определение выводить ее в модальном окне или на отдельной странице определяется настройкой Регистрация в попапе в разделе Аккаунт менеджмент → Процесс регистрации.