union_auto_test/core/templates/base.html

203 lines
8.1 KiB
HTML
Raw Normal View History

2026-01-10 09:45:10 +00:00
{% load static %}
{% load thumbnail %}
<!DOCTYPE html>
<html lang="ru">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="apple-touch-icon" href="{% static 'img/favicon-256.png' %}?v=1">
<link rel="apple-touch-icon" sizes="64x64" href="{% static 'img/favicon-64.png' %}?v=1"/>
<link rel="apple-touch-icon" sizes="128x128" href="{% static 'img/favicon-128.png' %}?v=1"/>
<link rel="apple-touch-icon" sizes="256х256" href="{% static 'img/favicon-256.png' %}?v=1"/>
<link rel="shortcut icon" href="{% static 'img/favicon-32.ico' %}" type="image/x-icon"/>
<link rel="icon" type="image/png" href="{% static 'img/favicon-64.png' %}?v=1" sizes="64x64">
<link rel="icon" type="image/png" href="{% static 'img/favicon-128.png' %}?v=1" sizes="128x128">
<link rel="icon" type="image/png" href="{% static 'img/favicon-256.png' %}?v=1" sizes="256х256">
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
<link href="https://fonts.googleapis.com/css2?family=Manrope:wght@200..800&display=swap" rel="stylesheet">
<link rel="stylesheet" href="{% static 'css/style.min.css' %}?v=10">
{% block canonical %}{% endblock %}
{% if seo_above and seo_above.meta_title %}
<title>{{ seo_above.meta_title }}</title>
<meta name="title" content="{{ seo_above.meta_title }}">
<meta property="og:title" content="{{ seo_above.meta_title }}">
{% elif curr_title %}
<title>{{ curr_title }}</title>
<meta name="title" content="{{ curr_title }}">
<meta property="og:title" content="{{ curr_title }}">
{% else %}
{% if title %}
<title>{{ title }}</title>
<meta name="title" content="{{ title }}">
<meta property="og:title" content="{{ title }}">
{% else %}
<title>Union Auto</title>
{% endif %}
{% endif %}
{% if seo_above and seo_above.meta_description %}
<meta name="description" content="{{ seo_above.meta_description }}">
<meta property="og:description" content="{{ seo_above.meta_description }}"/>
{% elif curr_description %}
<meta name="description" content="{{ curr_description }}">
<meta property="og:description" content="{{ curr_description }}"/>
{% endif %}
{% if seo_above and seo_above.meta_keywords %}
<meta name="keywords" content="{{ seo_above.meta_keywords }}">
{% endif %}
{# {% if seo_above and seo_above.og_image %}#}
{# {% else %}#}
<link rel="image_src" href="https://{{ request.get_host }}{% static 'img/og-image.png' %}?v=1">
<meta itemprop="image" property="og:image" content="https://{{ request.get_host }}{% static 'img/og-image.png' %}?v=1">
<meta itemprop="image" property="og:image:secure_url" content="https://{{ request.get_host }}{% static 'img/og-image.png' %}?v=1">
<meta itemprop="image" property="og:image:width" content="1126">
<meta itemprop="image" property="og:image:height" content="590">
<meta itemprop="image" property="vk:image" content="https://{{ request.get_host }}{% static 'img/og-image.png' %}?v=1"/>
<meta property="og:type" content="website">
<meta property="og:site_name" content="Union Auto">
<meta property="og:url" content="https://{{ request.get_host }}">
<meta property="og:locale" content="ru_RU">
<meta name="yandex-verification" content="42c91d81080fd018"/>
<meta name="google-site-verification" content="FWrQRtLUl9sopwu4HKFZCNdZtyC9iR18BkuNeUjYggI"/>
<!-- Yandex.Metrika counter -->
<script type="text/javascript">
(function (m, e, t, r, i, k, a) {
m[i] = m[i] || function () {
(m[i].a = m[i].a || []).push(arguments)
};
m[i].l = 1 * new Date();
for (var j = 0; j < document.scripts.length; j++) {
if (document.scripts[j].src === r) {
return;
}
}
k = e.createElement(t), a = e.getElementsByTagName(t)[0], k.async = 1, k.src = r, a.parentNode.insertBefore(k, a)
})
(window, document, "script", "https://mc.yandex.ru/metrika/tag.js", "ym");
ym(91395761, "init", {
clickmap: true,
trackLinks: true,
accurateTrackBounce: true,
webvisor: true
});
</script>
<noscript>
<div><img src="https://mc.yandex.ru/watch/91395761" style="position:absolute; left:-9999px;" alt=""/></div>
</noscript>
<!-- /Yandex.Metrika counter -->
{% block style %}{% endblock %}
</head>
<body>
<div class="wrapper">
<main class="main">
{% block preheader %}
{% endblock %}
{% include 'includes/header.html' %}
{% block content %}
{% endblock %}
{% include 'includes/mobile_navigation.html' %}
</main>
{% include 'includes/footer.html' %}
{% include 'includes/navigation.html' %}
{% include 'includes/modals/modal_form.html' %}
{% include 'includes/modals/modal_form_budget.html' %}
{% include 'includes/modals/free_to_modal_form.html' %}
{% include 'includes/modals/best_price_modal_form.html' %}
{% include 'includes/modals/modal_review.html' %}
{% include 'includes/telegram_popup.html' %}
</div>
<div class="cookie" id="elCookieNotification">
<div class="cookie__content">
<div class="cookie__col text--white">Используя данный сайт, вы соглашаетесь на использование <a href="{% url 'core:static_page' slug='personal_data' %}" target="_blank"> файлов куки</a></div>
<button class="btn-cookie button button--brown mt-2 js-cookie-accept">Согласиться</button>
</div>
</div>
<script src="{% static 'js/app.min.js' %}?v=4"></script>
<script>
document.addEventListener('DOMContentLoaded', () => {
const timeZone = Intl.DateTimeFormat().resolvedOptions().timeZone;
if (timeZone) {
const inputs = document.querySelectorAll('.local-time-input');
inputs.forEach(input => {
input.value = timeZone;
});
}
});
$(".request-form input, .request-form textarea").on('input', function () {
if (!formStarted) {
formStarted = true;
ym(91395761, 'reachGoal', 'fill');
}
});
$(".request-form").submit(function (event) {
event.preventDefault()
const defaultActionUrl = "/consultation/"
const defaultOnErrorMessage = "Ошибка!<br>Не удалось отправить форму."
const successMessage = "Ваша заявка принята!<br>Свяжемся с вами в ближайшее время."
const form = $(this)
const loader = form.prev()
const status = form.next()
let actionUrl = form.attr("action")
if (actionUrl === undefined) {
actionUrl = defaultActionUrl
}
let onErrorMessage = form.data("on-error-message")
if (onErrorMessage === undefined) {
onErrorMessage = defaultOnErrorMessage
}
form.hide()
loader.show()
const formData = new FormData(form[0]);
$.ajax({
url: actionUrl,
type: 'POST',
data: formData,
processData: false, // Отключаем обработку данных jQuery
contentType: false, // Отключаем установку content-type
success: function () {
loader.hide();
status.html(successMessage).addClass('fw-bold');
status.show();
ym(91395761, 'reachGoal', 'success');
// Убираем background у псевдоэлемента ::before
$('.callbackW--linear-white').removeClass('callbackW--linear-white');
},
error: function () {
loader.hide();
status.html(onErrorMessage);
status.show();
}
});
})
</script>
{% block js %}{% endblock %}
</body>
</html>