Страница отзывы (всплывающая кнопка внизу)

This commit is contained in:
Dekart Deploy Bot 2026-06-28 17:41:15 +00:00
parent 465355a775
commit 866f5a8dc1
3 changed files with 55 additions and 2 deletions

View File

@ -1051,6 +1051,7 @@
border: none; border: none;
border-radius: 12px; border-radius: 12px;
cursor: pointer; cursor: pointer;
pointer-events: auto; /* переопределяем pointer-events:none из main.css */
} }
/* ─── КОНТАКТЫ С КАРТОЙ ─── */ /* ─── КОНТАКТЫ С КАРТОЙ ─── */

View File

@ -53,6 +53,19 @@ document.addEventListener("click", function (event) {
if (target.classList.contains("btn-write")) { if (target.classList.contains("btn-write")) {
modalRequestForm.style=""; modalRequestForm.style="";
document.querySelector('html').style = "overflow: hidden;"; document.querySelector('html').style = "overflow: hidden;";
// Динамическая загрузка Bitrix24 (иначе не инициализируется в скрытом контейнере)
var container = modalRequestForm.querySelector('.b24-form-container');
if (container && !container.querySelector('.b24-form')) {
var fForm = modalRequestForm.dataset.b24Form;
var fLoader = modalRequestForm.dataset.b24Loader;
if (fForm && fLoader) {
var s = document.createElement('script');
s.setAttribute('data-b24-form', fForm);
s.setAttribute('data-skip-moving', 'true');
s.text = "(function(w,d,u){var s=d.createElement('script');s.async=true;s.src=u+'?'+(Date.now()/180000|0);var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);})(window,document,'" + fLoader + "');";
container.appendChild(s);
}
}
return; return;
} }
if (target.classList.contains("btn-close-request-form") || target.classList.contains("btn-close-request-form-img")) { if (target.classList.contains("btn-close-request-form") || target.classList.contains("btn-close-request-form-img")) {
@ -291,6 +304,19 @@ document.querySelectorAll('.open-bitrix-form').forEach(btn => {
const modal = document.querySelector('.modal-request-form'); const modal = document.querySelector('.modal-request-form');
if (modal) { if (modal) {
modal.style = ""; modal.style = "";
// Динамическая загрузка Bitrix24
var container = modal.querySelector('.b24-form-container');
if (container && !container.querySelector('.b24-form')) {
var fForm = modal.dataset.b24Form;
var fLoader = modal.dataset.b24Loader;
if (fForm && fLoader) {
var s = document.createElement('script');
s.setAttribute('data-b24-form', fForm);
s.setAttribute('data-skip-moving', 'true');
s.text = "(function(w,d,u){var s=d.createElement('script');s.async=true;s.src=u+'?'+(Date.now()/180000|0);var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);})(window,document,'" + fLoader + "');";
container.appendChild(s);
}
}
} }
}); });
}); });

View File

@ -119,6 +119,16 @@ $faq_items = carbon_get_post_meta( $post_id, 'reviews_faq' );
$branch_button_script = get_option( 'branch_button_script', '' ); $branch_button_script = get_option( 'branch_button_script', '' );
// Парсинг Bitrix24 параметров для динамической загрузки (иначе не инициализируется в скрытой модалке)
$_b24_form = '';
$_b24_url = '';
if ( preg_match( '/data-b24-form="([^"]+)"/', $branch_button_script, $_m ) ) {
$_b24_form = $_m[1];
}
if ( preg_match( "/\\(window,document,'([^']+)'\\)/", $branch_button_script, $_m ) ) {
$_b24_url = $_m[1];
}
$myreviews_widget = get_option( 'branch_myreviews_widget', '' ); $myreviews_widget = get_option( 'branch_myreviews_widget', '' );
$cross_title = carbon_get_post_meta( $post_id, 'reviews_cross_title' ) ?: 'Наши программы'; $cross_title = carbon_get_post_meta( $post_id, 'reviews_cross_title' ) ?: 'Наши программы';
@ -914,14 +924,16 @@ $intro_price_txt = carbon_get_post_meta( $post_id, 'reviews_intro_price_text' );
<?php if ( $branch_button_script ) : ?> <?php if ( $branch_button_script ) : ?>
<div class="modal-request-form" id="modal-request-form-reviews" style="display:none;" aria-hidden="true" role="dialog" aria-label="Форма записи на экскурсию"> <div class="modal-request-form" id="modal-request-form-reviews" style="display:none;" aria-hidden="true" role="dialog" aria-label="Форма записи на экскурсию"
data-b24-form="<?php echo esc_attr( $_b24_form ); ?>"
data-b24-loader="<?php echo esc_attr( $_b24_url ); ?>">
<div class="form-wrapper"> <div class="form-wrapper">
<button class="btn-close-request-form" id="modal-reviews-close" aria-label="Закрыть форму"> <button class="btn-close-request-form" id="modal-reviews-close" aria-label="Закрыть форму">
<img class="btn-close-request-form-img" <img class="btn-close-request-form-img"
src="<?php echo esc_url( $theme_uri ); ?>/assets/images/btn-close-modal.svg" src="<?php echo esc_url( $theme_uri ); ?>/assets/images/btn-close-modal.svg"
alt="Закрыть" loading="lazy"> alt="Закрыть" loading="lazy">
</button> </button>
<?php echo $branch_button_script; ?> <div class="b24-form-container"></div>
</div> </div>
</div> </div>
<script> <script>
@ -942,6 +954,20 @@ document.addEventListener('DOMContentLoaded', function () {
if (typeof ym !== 'undefined') { if (typeof ym !== 'undefined') {
ym(99835482, 'reachGoal', goalName); ym(99835482, 'reachGoal', goalName);
} }
// Динамическая загрузка Bitrix24 (иначе не инициализируется в скрытом контейнере)
var container = modal.querySelector('.b24-form-container');
if (container && !container.querySelector('.b24-form')) {
var fForm = modal.dataset.b24Form;
var fLoader = modal.dataset.b24Loader;
if (fForm && fLoader) {
var s = document.createElement('script');
s.setAttribute('data-b24-form', fForm);
s.setAttribute('data-skip-moving', 'true');
s.text = "(function(w,d,u){var s=d.createElement('script');s.async=true;s.src=u+'?'+(Date.now()/180000|0);var h=d.getElementsByTagName('script')[0];h.parentNode.insertBefore(s,h);})(window,document,'" + fLoader + "');";
container.appendChild(s);
}
}
}); });
}); });