- Кнопки на странице /gorodskoj-lager/ используют класс btn-write-camp, но footer.js слушал только .btn-write - Добавлен .btn-write-camp в селектор делегированного события - Форма B24 теперь открывается с кнопок лагеря
152 lines
7.3 KiB
PHP
152 lines
7.3 KiB
PHP
<?php wp_footer(); ?>
|
||
|
||
<footer>
|
||
<div class="container footer-wrapper">
|
||
<div class="footer-main">
|
||
<a class="footer_logo" href="/">
|
||
<img width="238" height="70"
|
||
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/logo-svg.svg"
|
||
alt="<?php esc_attr_e('Декарт — частная школа в Щелково', 'dekart'); ?>"
|
||
loading="lazy">
|
||
</a>
|
||
<div class="footer__main-col desktop">
|
||
<?php
|
||
wp_nav_menu( array(
|
||
'menu' => 'Footer Menu',
|
||
'container' => 'nav',
|
||
'container_class' => 'footer_links',
|
||
'menu_class' => 'footer_links-col',
|
||
'theme_location' => 'top',
|
||
) );
|
||
?>
|
||
<nav class="footer_links" aria-label="Дополнительные ссылки">
|
||
<ul class="footer_links-col">
|
||
<li><a href="/otzyvy/">Отзывы</a></li>
|
||
</ul>
|
||
</nav>
|
||
</div>
|
||
<div class="footer__col">
|
||
<button class="btn-write btn-primary desktop"><?php esc_html_e('Бесплатное пробное', 'dekart'); ?></button>
|
||
<button class="btn-write btn-primary mobile"><?php esc_html_e('Бесплатно', 'dekart'); ?></button>
|
||
<div class="footer__link-icon">
|
||
<img width="19" height="32"
|
||
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/icon-location.svg"
|
||
alt="" role="presentation" loading="lazy">
|
||
<span>г. <?php echo esc_html( get_option('branch_city') ?: carbon_get_theme_option('site_city') ); ?> <br class="mobile"> <?php echo esc_html( get_option('branch_address') ?: carbon_get_theme_option('site_address') ); ?></span>
|
||
</div>
|
||
<a class="footer__link-icon"
|
||
href="tel:<?php echo preg_replace('/[^0-9+]/', '', carbon_get_theme_option('site_phone')); ?>">
|
||
<img width="27" height="27"
|
||
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/icon-phone.svg"
|
||
alt="Телефон" loading="lazy" style="margin-left:-3px">
|
||
<span><?php echo esc_html( carbon_get_theme_option('site_phone') ); ?></span>
|
||
</a>
|
||
<div class="footer_mobile mobile">
|
||
<div class="footer_mobile_title">Наш центр</div>
|
||
<ul>
|
||
<li><a class="footer_mobile_item" href="/podgotovka-k-ege/">Подготовка к ЕГЭ</a></li>
|
||
<li><a class="footer_mobile_item" href="/podgotovka-k-oge/">Подготовка к ОГЭ (ГИА)</a></li>
|
||
<li><a class="footer_mobile_item" href="/our-teachers/">Преподаватели</a></li>
|
||
<li><a class="footer_mobile_item" href="/otzyvy/">Отзывы</a></li>
|
||
</ul>
|
||
<div class="footer_mobile_title">Наши контакты</div>
|
||
</div>
|
||
<div class="social">
|
||
<?php get_template_part('template-parts/block-social'); ?>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="footer-last-row">
|
||
<a href="/soglashenie-na-obrabotku-personalnyh-dannyh/">Соглашение на обработку персональных данных</a>
|
||
<span class="desktop">Все права защищены © <?php echo date('Y'); ?></span>
|
||
<span class="mobile">Разработка сайта dekart-promo © <?php echo date('Y'); ?></span>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
|
||
<?php
|
||
?>
|
||
<?php
|
||
// === Bitrix24: парсинг скрипта из настроек филиала ===
|
||
// Приоритет: branch_button_script (Settings API) > theme option
|
||
$b24_raw = get_option( 'branch_button_script', '' );
|
||
if ( empty( $b24_raw ) ) {
|
||
$b24_raw = carbon_get_theme_option( 'site_bitrix_script' );
|
||
}
|
||
|
||
if ( ! empty( $b24_raw ) ) {
|
||
$_b24_form = '';
|
||
$_b24_url = '';
|
||
if ( preg_match( '/data-b24-form="([^"]+)"/', $b24_raw, $_m ) ) {
|
||
$_b24_form = $_m[1];
|
||
}
|
||
if ( preg_match( "/\\(window,document,'([^']+)'\\)/", $b24_raw, $_m ) ) {
|
||
$_b24_url = $_m[1];
|
||
}
|
||
}
|
||
?>
|
||
<?php if ( ! empty( $b24_raw ) && ! empty( $_b24_form ) && ! empty( $_b24_url ) ) : ?>
|
||
<div class="modal-request-form" 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">
|
||
<button class="btn-close-request-form" aria-label="Закрыть форму">
|
||
<img class="btn-close-request-form-img"
|
||
src="<?php echo esc_url( get_template_directory_uri() ); ?>/assets/images/btn-close-modal.svg"
|
||
alt="Закрыть"
|
||
loading="lazy">
|
||
</button>
|
||
<div class="b24-form-container"></div>
|
||
</div>
|
||
</div>
|
||
|
||
<script>
|
||
document.addEventListener('DOMContentLoaded', function() {
|
||
var modal = document.querySelector('.modal-request-form');
|
||
if (!modal) return;
|
||
var b24Loaded = false;
|
||
var closeBtn = modal.querySelector('.btn-close-request-form');
|
||
|
||
// Открытие — делегирование на body
|
||
document.body.addEventListener('click', function(e) {
|
||
var btn = e.target.closest('.btn-write, .btn-write-camp, .open-bitrix-form, .ds-hero__cta-btn, .sticky-cta-mobile__btn, .sticky-cta-desktop__btn');
|
||
if (!btn) return;
|
||
e.preventDefault();
|
||
|
||
modal.style.display = '';
|
||
document.documentElement.style.overflow = 'hidden';
|
||
|
||
// Ленивая загрузка B24 при первом клике (в видимый контейнер)
|
||
if (!b24Loaded) {
|
||
b24Loaded = true;
|
||
var container = modal.querySelector('.b24-form-container');
|
||
var fForm = modal.dataset.b24Form;
|
||
var fLoader = modal.dataset.b24Loader;
|
||
if (fForm && fLoader && container) {
|
||
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);
|
||
}
|
||
}
|
||
});
|
||
|
||
// Закрытие
|
||
if (closeBtn) {
|
||
closeBtn.addEventListener('click', function() {
|
||
modal.style.display = 'none';
|
||
document.documentElement.style.overflow = '';
|
||
});
|
||
}
|
||
modal.addEventListener('click', function(e) {
|
||
if (e.target === modal) {
|
||
modal.style.display = 'none';
|
||
document.documentElement.style.overflow = '';
|
||
}
|
||
});
|
||
});
|
||
</script>
|
||
<?php endif; ?>
|
||
</body>
|
||
</html>
|