Ссылки БАЗА: реальные URL записи/оплаты + сохранение якоря в UTM
- Кнопки записи/оплаты ведут на форму сайта infocyber.pro (service_id web_1..web_5); тарифы — на главную с якорем #prices; пробное и интенсив — на общую форму записи (отдельной страницы интенсива на сайте пока нет). - _utm(): UTM вставляется ДО якоря (?utm...#prices), иначе браузер не доскроллит до раздела. Значения ссылок вынесены в .env / задокументированы в .env.example. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -34,3 +34,15 @@ MAIL_TO=group-zakaz@infocyber.pro
|
|||||||
HR_MAIL_TO=
|
HR_MAIL_TO=
|
||||||
# true — SSL (порт 465), false — STARTTLS (порт 587)
|
# true — SSL (порт 465), false — STARTTLS (порт 587)
|
||||||
SMTP_USE_SSL=true
|
SMTP_USE_SSL=true
|
||||||
|
|
||||||
|
# --- Ссылки Кибершколы БАЗА (кнопки записи/оплаты в боте) ---
|
||||||
|
# UTM добавляются кодом автоматически; здесь только базовые URL. Замените при необходимости.
|
||||||
|
LINK_TRIAL=https://infocyber.pro/form/index.html
|
||||||
|
LINK_TARIFFS=https://infocyber.pro/#prices
|
||||||
|
LINK_GROUP_4=https://infocyber.pro/form/index.html?service_id=web_2
|
||||||
|
LINK_GROUP_8=https://infocyber.pro/form/index.html?service_id=web_3
|
||||||
|
LINK_IND_1=https://infocyber.pro/form/index.html?service_id=web_1
|
||||||
|
LINK_IND_4=https://infocyber.pro/form/index.html?service_id=web_4
|
||||||
|
LINK_IND_8=https://infocyber.pro/form/index.html?service_id=web_5
|
||||||
|
# Летний интенсив: отдельной страницы на сайте нет — ведём на общую форму (замените, когда появится)
|
||||||
|
LINK_SUMMER=https://infocyber.pro/form/index.html
|
||||||
|
|||||||
@@ -646,10 +646,16 @@ class VKBotApplication:
|
|||||||
# ==========================================================
|
# ==========================================================
|
||||||
|
|
||||||
def _utm(self, url: str, campaign: str = "main") -> str:
|
def _utm(self, url: str, campaign: str = "main") -> str:
|
||||||
"""Добавляет UTM-метку к ссылке (main — обычные, summer — интенсив)."""
|
"""Добавляет UTM-метку к ссылке (main — обычные, summer — интенсив).
|
||||||
|
|
||||||
|
Якорь (#...) сохраняется: UTM вставляется ДО него, иначе браузер не
|
||||||
|
доскроллит до раздела (напр. https://infocyber.pro/?utm...#prices).
|
||||||
|
"""
|
||||||
utm = config.UTM_SUMMER if campaign == "summer" else config.UTM_MAIN
|
utm = config.UTM_SUMMER if campaign == "summer" else config.UTM_MAIN
|
||||||
sep = "&" if "?" in url else "?"
|
base, sep_frag, frag = url.partition("#")
|
||||||
return f"{url}{sep}{utm}"
|
sep = "&" if "?" in base else "?"
|
||||||
|
result = f"{base}{sep}{utm}"
|
||||||
|
return f"{result}#{frag}" if sep_frag else result
|
||||||
|
|
||||||
def _baza_send_openlink(self, user_id: int, link_key: str, message: str, button: str,
|
def _baza_send_openlink(self, user_id: int, link_key: str, message: str, button: str,
|
||||||
campaign: str = "main"):
|
campaign: str = "main"):
|
||||||
|
|||||||
Reference in New Issue
Block a user