Опубликовано пользователем goodigy
Все это я делаю на 1С-Битрикс версии 14.9. При поиске решений, мне было не понятно работает это сейчас или нет, поэтому я указываю версию. Редакция Малый Бизнес.
В шаблоне для интернет магазина(например, eshop_adapt_yellow), форма входа выводится во всплывающем, модальном окне. Я воспользовался этим же способом.
Выведем в окне форму обратного звонка. Для этого, нужно создать форму. Это будет описано в другой статье.
У меня, кнопка обратного звонка находится в шапке, поэтому в header.php шаблона, вставляем код вызова нашей формы, обернутый div, и ниже скрипт вызова окна
<div id="bx_recall_popup_form" style="display:none; padding:10px;min-height: 300px" class="bx_login_popup_form" >
<?$APPLICATION->IncludeComponent("bitrix:form.result.new", "recall", Array(
"WEB_FORM_ID" => "1",
"IGNORE_CUSTOM_TEMPLATE" => "N",
"USE_EXTENDED_ERRORS" => "Y",
"SEF_MODE" => "N",
"VARIABLE_ALIASES" => array(
"WEB_FORM_ID" => "WEB_FORM_ID",
"RESULT_ID" => "RESULT_ID",),
"CACHE_TYPE" => "A",
"CACHE_TIME" => "3600",
"LIST_URL" => "result_list.php",
"EDIT_URL" => "result_edit.php",
"SUCCESS_URL" => "",
"CHAIN_ITEM_TEXT" => "",
"CHAIN_ITEM_LINK" => "",
),
false
);?>
Заявки на обратный звонок принимаются с 8:00 до 21:00.
</div>
<script>
function openRecallPopup()
{
var authPopup = BX.PopupWindowManager.create("RecallPopup", null, {
autoHide: true,
offsetLeft: 0,
offsetTop: 0,
overlay : true,
draggable: {restrict:true},
closeByEsc: true,
closeIcon: { right : "12px", top : "10px"},
content: '<div style="width:400px;height:400px; text-align: center;"><span style="position:absolute;left:50%; top:50%"><img src="/bitrix/templates/eshop_adapt_yellow/img/wait.gif"/></span></div>',
events: {
onAfterPopupShow: function()
{
this.setContent(BX("bx_recall_popup_form"));
}
}
});
authPopup.show();
}
</script>
Вот и все, теперь на кнопку или ссылку вешаем вызов этой функции, вот так
<a href="javascript:void(0)" onclick="openRecallPopup()" class="recall">ОБРАТНЫЙ ЗВОНОК</a>
Готово.
Есть еще способы вызвать окно, это воспользоваться, например fanсybox. Нашел это решение на этом форуме. Если это будет нужно я напишу отдельную статью, и в ней повторю этот способ, пишите.
И еще один способ, вызвать модальное окно встроенное в битрикс, используемое для админки. Вот тут рассказано как это сделать, я проверял на свежей версии, все работает.