feat: news/events pages, pagination, cookie banner, MONT→MONT rename, logo update, admin improvements, API endpoints, dynamic links by domain

This commit is contained in:
2026-06-01 17:44:25 +03:00
parent 7c0c2ea14a
commit b1fde8344e
117 changed files with 3993 additions and 70 deletions
+194 -9
View File
@@ -3,15 +3,15 @@
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>{{ vendor.name }} — вендор МОНТ | матрица продуктов MONT</title>
<meta name="description" content="{{ vendor.description[:160] if vendor.description else 'Вендор ' + vendor.name + ' в корзине продуктов дистрибьютора МОНТ. Продукты, категории, ссылки.' }}" />
<title>{{ vendor.name }} — вендор MONT | матрица продуктов MONT</title>
<meta name="description" content="{{ vendor.description[:160] if vendor.description else 'Вендор ' + vendor.name + ' в корзине продуктов дистрибьютора MONT. Продукты, категории, ссылки.' }}" />
<meta name="robots" content="index, follow" />
<link rel="canonical" href="{{ canonical_url }}" />
<meta property="og:type" content="website" />
<meta property="og:url" content="{{ canonical_url }}" />
<meta property="og:title" content="{{ vendor.name }} — вендор МОНТ" />
<meta property="og:description" content="{{ vendor.description[:200] if vendor.description else 'Вендор ' + vendor.name + ' в корзине продуктов дистрибьютора МОНТ.' }}" />
<meta property="og:title" content="{{ vendor.name }} — вендор MONT" />
<meta property="og:description" content="{{ vendor.description[:200] if vendor.description else 'Вендор ' + vendor.name + ' в корзине продуктов дистрибьютора MONT.' }}" />
{% if vendor.logo %}<meta property="og:image" content="{{ base_url }}/static/{{ vendor.logo }}" />{% endif %}
<script type="application/ld+json">
@@ -24,12 +24,54 @@
{% if vendor.logo %}"logo": "{{ base_url }}/static/{{ vendor.logo }}",{% endif %}
"distributor": {
"@type": "Organization",
"name": "МОНТ",
"name": "MONT",
"url": "{{ base_url }}"
}
}
</script>
<script type="application/ld+json">
{
"@context": "https://schema.org",
"@type": "FAQPage",
"mainEntity": [
{
"@type": "Question",
"name": "Где купить {{ vendor.name }} в России?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Продукты {{ vendor.name }} можно приобрести через официального дистрибьютора MONT (MONT). Главный офис — Москва, филиал — Казань; партнёры работают по всей России. Для заказа напишите BDM MONT Максиму Шамову: mshamov@mont.com или на общую почту mont@mont.com."
}
},
{
"@type": "Question",
"name": "Как стать партнёром {{ vendor.name }} через MONT?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Для получения партнёрского статуса {{ vendor.name }} через дистрибьютора MONT свяжитесь с BDM Максимом Шамовым: mshamov@mont.com или mont@mont.com. MONT является официальным дистрибьютором и помогает партнёрам получить авторизацию, обучение и техническую поддержку по продуктам {{ vendor.name }}."
}
},
{
"@type": "Question",
"name": "Какие продукты {{ vendor.name }} доступны через MONT?",
"acceptedAnswer": {
"@type": "Answer",
"text": "{% if products %}В корзине MONT представлены следующие продукты {{ vendor.name }}: {{ products | map(attribute='name') | join(', ') }}.{% else %}MONT предлагает широкую линейку продуктов {{ vendor.name }}. Актуальный список доступен на странице вендора в корзине MONT.{% endif %} Для уточнения наличия и цен обращайтесь к дистрибьютору."
}
},
{
"@type": "Question",
"name": "Есть ли официальный дистрибьютор {{ vendor.name }} в Казани?",
"acceptedAnswer": {
"@type": "Answer",
"text": "Да. MONT имеет главный офис в Москве и филиал в Казани. Партнёры работают во всех крупных городах России. Свяжитесь с BDM MONT Максимом Шамовым: mshamov@mont.com или mont@mont.com."
}
}
]
}
</script>
<link rel="icon" type="image/svg+xml" href="/static/favicon.svg" />
<link rel="icon" type="image/png" href="/static/favicon.png" />
<link rel="preconnect" href="https://fonts.googleapis.com">
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin>
@@ -127,6 +169,36 @@
}
.back-btn:hover { background: #eef4ff; transform: translateX(-2px); }
.seo-block {
background: #fff;
border-radius: 16px;
border: 1px solid #dae6ff;
padding: 24px 28px;
margin-top: 20px;
}
.seo-block h2 { font-size: 17px; font-weight: 800; color: #1a3e79; margin: 0 0 10px; }
.seo-block p { font-size: 14px; color: #3a4f6e; line-height: 1.7; margin: 0 0 10px; }
.seo-block p:last-child { margin-bottom: 0; }
.cities-row { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.city-tag {
font-size: 12px; font-weight: 600; padding: 4px 12px;
border-radius: 999px; background: #f0f6ff; color: #22427a;
border: 1px solid #c8dcff;
}
.faq-list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.faq-item { border: 1px solid #dae6ff; border-radius: 12px; overflow: hidden; }
.faq-q {
width: 100%; text-align: left; background: #f5f9ff;
border: none; padding: 14px 18px; cursor: pointer;
font-size: 14px; font-weight: 700; color: #1a3e79;
font-family: Manrope, sans-serif; display: flex; justify-content: space-between; align-items: center;
}
.faq-q:hover { background: #eaf2ff; }
.faq-q .arr { transition: transform .2s; font-size: 12px; color: #7a9bd0; }
.faq-q.open .arr { transform: rotate(180deg); }
.faq-a { display: none; padding: 12px 18px 16px; font-size: 14px; color: #3a4f6e; line-height: 1.7; }
.faq-a.open { display: block; }
@media (max-width: 640px) {
.vendor-card { flex-direction: column; padding: 20px; }
.vendor-logo-box { width: 100%; height: 100px; }
@@ -136,10 +208,10 @@
</head>
<body>
<div class="wrap">
<a href="/" class="back-btn">← Все вендоры МОНТ</a>
<a href="/" class="back-btn">← Все вендоры MONT</a>
<nav class="breadcrumb" aria-label="breadcrumb">
<a href="/">Корзина МОНТ</a> &rsaquo; {{ vendor.name }}
<a href="/">Корзина MONT</a> &rsaquo; {{ vendor.name }}
</nav>
<div class="vendor-card">
@@ -157,7 +229,7 @@
{% endif %}
<div class="vendor-links">
{% if vendor.mont_page %}
<a class="vlink mont" href="{{ vendor.mont_page }}" target="_blank" rel="noopener">Страница на МОНТ</a>
<a class="vlink mont" href="{{ vendor.mont_page }}" target="_blank" rel="noopener">Страница на MONT</a>
{% endif %}
{% if vendor.website %}
<a class="vlink site" href="{{ vendor.website }}" target="_blank" rel="noopener">Официальный сайт ↗</a>
@@ -168,7 +240,7 @@
{% if products %}
<div class="products-box">
<h2 class="section-title">Продукты {{ vendor.name }} в корзине МОНТ</h2>
<h2 class="section-title">Продукты {{ vendor.name }} в корзине MONT</h2>
<div class="products-grid">
{% for p in products %}
{% if p.url %}
@@ -189,6 +261,119 @@
{% endfor %}
</div>
{% endif %}
<div class="seo-block">
<h2>Официальный дистрибьютор {{ vendor.name }} в России — MONT</h2>
<p>
MONT (MONT) является официальным дистрибьютором {{ vendor.name }} на территории России.
Через MONT доступны лицензии, техническая поддержка и партнёрские программы
{{ vendor.name }}. Дистрибьютор работает с юридическими лицами, системными
интеграторами и реселлерами по всей стране.
</p>
<p>
Купить {{ vendor.name }} или получить консультацию можно через партнёров MONT в
вашем регионе. Для связи пишите на
<a href="mailto:mont@mont.com" style="color:var(--brand);font-weight:600;">mont@mont.com</a>
или напрямую BDM MONT Максиму Шамову —
<a href="mailto:mshamov@mont.com" style="color:var(--brand);font-weight:600;">mshamov@mont.com</a>.
Заявки принимаются из всех городов России.
</p>
<div class="cities-row">
<span class="city-tag">{{ vendor.name }} Москва</span>
<span class="city-tag">{{ vendor.name }} Казань</span>
<span class="city-tag">{{ vendor.name }} Санкт-Петербург</span>
<span class="city-tag">{{ vendor.name }} Екатеринбург</span>
<span class="city-tag">{{ vendor.name }} Новосибирск</span>
<span class="city-tag">{{ vendor.name }} Краснодар</span>
<span class="city-tag">{{ vendor.name }} Нижний Новгород</span>
<span class="city-tag">{{ vendor.name }} Ростов-на-Дону</span>
</div>
</div>
<div class="seo-block">
<h2>Часто задаваемые вопросы о {{ vendor.name }} и MONT</h2>
<ul class="faq-list" id="faqList">
<li class="faq-item">
<button class="faq-q" type="button">
Где купить {{ vendor.name }} в России?
<span class="arr"></span>
</button>
<div class="faq-a">
Продукты {{ vendor.name }} доступны через официального дистрибьютора MONT.
Главный офис MONT находится в Москве, филиал — в Казани; партнёры работают
в Санкт-Петербурге, Екатеринбурге, Новосибирске, Краснодаре и других городах.
Для оформления заказа напишите BDM MONT Максиму Шамову:
<a href="mailto:mshamov@mont.com" style="color:var(--brand);font-weight:600;">mshamov@mont.com</a>
или на общую почту
<a href="mailto:mont@mont.com" style="color:var(--brand);font-weight:600;">mont@mont.com</a>.
</div>
</li>
<li class="faq-item">
<button class="faq-q" type="button">
Как стать партнёром {{ vendor.name }} через MONT?
<span class="arr"></span>
</button>
<div class="faq-a">
MONT помогает компаниям получить партнёрский статус {{ vendor.name }}:
авторизацию, доступ к обучению и технической поддержке. Для начала
сотрудничества свяжитесь с BDM MONT Максимом Шамовым:
<a href="mailto:mshamov@mont.com" style="color:var(--brand);font-weight:600;">mshamov@mont.com</a>
или напишите на общую почту
<a href="mailto:mont@mont.com" style="color:var(--brand);font-weight:600;">mont@mont.com</a>
специалисты подберут подходящий партнёрский уровень и помогут пройти все этапы авторизации.
</div>
</li>
<li class="faq-item">
<button class="faq-q" type="button">
Какие продукты {{ vendor.name }} представлены в корзине MONT?
<span class="arr"></span>
</button>
<div class="faq-a">
{% if products %}
В корзине MONT представлены следующие продукты {{ vendor.name }}:
{{ products | map(attribute='name') | join(', ') }}.
Актуальность наличия и цены уточняйте у BDM MONT Максима Шамова:
<a href="mailto:mshamov@mont.com" style="color:var(--brand);font-weight:600;">mshamov@mont.com</a>.
{% else %}
MONT предлагает актуальную линейку продуктов {{ vendor.name }}.
Для уточнения наличия и условий поставки напишите BDM MONT Максиму Шамову:
<a href="mailto:mshamov@mont.com" style="color:var(--brand);font-weight:600;">mshamov@mont.com</a>.
{% endif %}
</div>
</li>
<li class="faq-item">
<button class="faq-q" type="button">
Есть ли официальный дистрибьютор {{ vendor.name }} в Казани?
<span class="arr"></span>
</button>
<div class="faq-a">
Да. MONT имеет филиал в Казани и главный офис в Москве — компания является
одним из ведущих дистрибьюторов ПО в России. Партнёры MONT работают во
всех федеральных округах. Для заказа {{ vendor.name }} в Казани или другом
регионе свяжитесь с BDM MONT Максимом Шамовым:
<a href="mailto:mshamov@mont.com" style="color:var(--brand);font-weight:600;">mshamov@mont.com</a>
или на общую почту
<a href="mailto:mont@mont.com" style="color:var(--brand);font-weight:600;">mont@mont.com</a>.
</div>
</li>
</ul>
</div>
</div>
<script>
document.getElementById('faqList').addEventListener('click', function(e) {
const btn = e.target.closest('.faq-q');
if (!btn) return;
const isOpen = btn.classList.contains('open');
document.querySelectorAll('.faq-q.open').forEach(b => {
b.classList.remove('open');
b.nextElementSibling.classList.remove('open');
});
if (!isOpen) {
btn.classList.add('open');
btn.nextElementSibling.classList.add('open');
}
});
</script>
</body>
</html>