shkola/wp-content/themes/dekart/footer.php
Dekart Deploy Bot 547e3728a9 fix: add btn-write-camp to B24 modal trigger selector
- Кнопки на странице /gorodskoj-lager/ используют класс
  btn-write-camp, но footer.js слушал только .btn-write
- Добавлен .btn-write-camp в селектор делегированного события
- Форма B24 теперь открывается с кнопок лагеря
2026-07-17 18:37:34 +00:00

152 lines
7.3 KiB
PHP
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?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">Все права защищены &copy; <?php echo date('Y'); ?></span>
<span class="mobile">Разработка сайта dekart-promo &copy; <?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>