Compare commits
95 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 174f702e3e | |||
| f6f4bfa2ab | |||
| f625537b6f | |||
| 794d5e810d | |||
| a5c0985093 | |||
| 70b481480f | |||
| a37e009109 | |||
| 191ceaca36 | |||
| 53ec69d27c | |||
| 26f29e4353 | |||
| e1f239d6ee | |||
| 9cf25e37ed | |||
| 355abb1add | |||
| 0c8db13341 | |||
| a3795dd267 | |||
| 90ffcd090c | |||
| e5575398a3 | |||
| acb52aef73 | |||
| fa04e5275f | |||
| b31f99aa94 | |||
| 0288c05e2b | |||
| c5baa2d9ab | |||
| 9c96d8c253 | |||
| 3aecf2eb08 | |||
| 423394a9d9 | |||
| 4c28c17088 | |||
| 3b0e1f6524 | |||
| f376656937 | |||
| c57eec05c9 | |||
| 197f910b82 | |||
| a5cca5f23e | |||
| a940f2ff0d | |||
| e454fd2343 | |||
| 66a1170221 | |||
| 8a175ee357 | |||
| 5f403710d1 | |||
| 6626840fa9 | |||
| 529fb3fc5d | |||
| d1c3e68d6d | |||
| d816733b0d | |||
| 168ae345d6 | |||
| d071458032 | |||
| cae627f0b0 | |||
| 7102af7d2d | |||
| 5ff75a4a80 | |||
| 495cc43246 | |||
| 80deab3c42 | |||
| 360493e564 | |||
| 6030998018 | |||
| faac300903 | |||
| abaff023cd | |||
| a6d7a8c8e0 | |||
| 4dbe424f84 | |||
| 2f94bf20be | |||
| 7488a9f8c8 | |||
| ee1107c976 | |||
| b759ce2d5a | |||
| b4c8ffe95d | |||
| 84c88ba406 | |||
| 86e6a2acc1 | |||
| b2f7612452 | |||
| 432409b3d8 | |||
| 09769542f9 | |||
| fca75a30aa | |||
| a90d7c06a9 | |||
| 6e342ca021 | |||
| 4ce12a5428 | |||
| d89619fe61 | |||
| b0387362b5 | |||
| c284c1a784 | |||
| a7dd676a76 | |||
| dd4134f2d7 | |||
| c1398284c7 | |||
| a9b4fd95c3 | |||
| 0fe7aa189c | |||
| 9133bfd8fa | |||
| aa1657bd10 | |||
| 10411dd714 | |||
| 4be3686d2b | |||
| 70e1fa2a10 | |||
| 3a14430cd5 | |||
| 73621de710 | |||
| 5cbae093e9 | |||
| fdaa18c0e6 | |||
| ff6ee93497 | |||
| d62261066f | |||
| 2a852cbb51 | |||
| f561c32526 | |||
| cd36747b5c | |||
| d020bdf9d0 | |||
| cd323ab66c | |||
| 0ac236d2ff | |||
| 769a42ec8b | |||
| 60ff29b23f | |||
| 15ff3d37fc |
@@ -203,6 +203,8 @@ def mailing_subscribe_ajax(request):
|
|||||||
|
|
||||||
|
|
||||||
def send_message_ajax(request):
|
def send_message_ajax(request):
|
||||||
|
print('send_message_ajax')
|
||||||
|
|
||||||
if request.method != 'POST':
|
if request.method != 'POST':
|
||||||
raise Http404
|
raise Http404
|
||||||
|
|
||||||
@@ -311,10 +313,18 @@ def send_message_ajax(request):
|
|||||||
f'</p>'
|
f'</p>'
|
||||||
}
|
}
|
||||||
|
|
||||||
|
print('render html for mail')
|
||||||
|
|
||||||
html = render_to_string('mail/m_request_offer.html', Dict, request)
|
html = render_to_string('mail/m_request_offer.html', Dict, request)
|
||||||
from BaseModels.mailSender import admin_send_mail_by_SMTPlib
|
from BaseModels.mailSender import admin_send_mail_by_SMTPlib
|
||||||
mail_sets = get_mail_send_options()
|
mail_sets = get_mail_send_options()
|
||||||
|
opts = get_options_by_opt_types('support_email', only_vals=True)
|
||||||
|
print(f'options: {str(opts)}')
|
||||||
|
if opts and 'support_email' in opts:
|
||||||
|
to = [opts['support_email']]
|
||||||
|
else:
|
||||||
to = [mail_sets['sender_email']]
|
to = [mail_sets['sender_email']]
|
||||||
|
print(f'to: {str(to)}')
|
||||||
res = admin_send_mail_by_SMTPlib(
|
res = admin_send_mail_by_SMTPlib(
|
||||||
mail_sets,
|
mail_sets,
|
||||||
subject=subject,
|
subject=subject,
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ def admin_send_mail_by_SMTPlib(sets, subject, from_email, to, html_content, atta
|
|||||||
|
|
||||||
def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_server, smtp_port, smtp_login, smtp_password,
|
def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_server, smtp_port, smtp_login, smtp_password,
|
||||||
attachments=None):
|
attachments=None):
|
||||||
|
print('send_mail_by_SMTPlib')
|
||||||
to = to_init
|
to = to_init
|
||||||
# if not settings.prod_server:
|
# if not settings.prod_server:
|
||||||
# to = 'web@syncsystems.net'
|
# to = 'web@syncsystems.net'
|
||||||
@@ -123,7 +124,11 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
|||||||
try:
|
try:
|
||||||
# context = ssl.create_default_context()
|
# context = ssl.create_default_context()
|
||||||
|
|
||||||
mail_lib = smtplib.SMTP(smtp_server, smtp_port)
|
print(f'connect to mail server smtp_server={str(smtp_server)} smtp_port={str(smtp_port)}')
|
||||||
|
|
||||||
|
mail_lib = smtplib.SMTP(smtp_server, smtp_port, timeout=60)
|
||||||
|
|
||||||
|
print('connection established')
|
||||||
|
|
||||||
res = mail_lib.ehlo()
|
res = mail_lib.ehlo()
|
||||||
|
|
||||||
@@ -139,14 +144,18 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
|||||||
res = mail_lib.esmtp_features['auth'] = 'LOGIN PLAIN'
|
res = mail_lib.esmtp_features['auth'] = 'LOGIN PLAIN'
|
||||||
# print('mail_lib.esmtp_features = {0}'.format(str(res)))
|
# print('mail_lib.esmtp_features = {0}'.format(str(res)))
|
||||||
|
|
||||||
|
print('try to login')
|
||||||
|
|
||||||
res = mail_lib.login(smtp_login, smtp_password)
|
res = mail_lib.login(smtp_login, smtp_password)
|
||||||
# print('mail_lib.login = {0}'.format(str(res)))
|
# print('mail_lib.login = {0}'.format(str(res)))
|
||||||
|
|
||||||
|
print('login')
|
||||||
|
|
||||||
res = None
|
res = None
|
||||||
|
|
||||||
if type(to) in (list, tuple):
|
if type(to) in (list, tuple):
|
||||||
if sets['sender_email'] in to:
|
# if sets['sender_email'] in to:
|
||||||
to.remove(sets['sender_email'])
|
# to.remove(sets['sender_email'])
|
||||||
|
|
||||||
if len(to) > 1:
|
if len(to) > 1:
|
||||||
to_str = u', '.join(to)
|
to_str = u', '.join(to)
|
||||||
@@ -159,6 +168,8 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
|||||||
to = []
|
to = []
|
||||||
to.append(to_str)
|
to.append(to_str)
|
||||||
|
|
||||||
|
print(f'send mail to {str(to)}')
|
||||||
|
|
||||||
if type(subject) != str:
|
if type(subject) != str:
|
||||||
try:
|
try:
|
||||||
subject = subject.decode('utf-8')
|
subject = subject.decode('utf-8')
|
||||||
@@ -168,6 +179,8 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
|||||||
except:
|
except:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
print(f'add context')
|
||||||
|
|
||||||
msg = MIMEMultipart()
|
msg = MIMEMultipart()
|
||||||
from email.headerregistry import Address
|
from email.headerregistry import Address
|
||||||
msg['From'] = from_email
|
msg['From'] = from_email
|
||||||
@@ -192,13 +205,17 @@ def send_mail_by_SMTPlib(sets, subject, from_email, to_init, html_content, smtp_
|
|||||||
res = msg.attach(attachments)
|
res = msg.attach(attachments)
|
||||||
# print('else attach file complete = {0}'.format(str(res)))
|
# print('else attach file complete = {0}'.format(str(res)))
|
||||||
|
|
||||||
|
print(f'send mail')
|
||||||
|
|
||||||
res = mail_lib.sendmail(from_email, to, msg.as_string())
|
res = mail_lib.sendmail(from_email, to, msg.as_string())
|
||||||
|
|
||||||
msg = mail_lib.quit()
|
msg = mail_lib.quit()
|
||||||
# print('mail_lib.quit = {0}'.format(str(msg)))
|
# print('mail_lib.quit = {0}'.format(str(msg)))
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
msg = 'send_mail_by_SMTPlib error = {0}'.format(str(e))
|
import traceback
|
||||||
|
msg = (f'send_mail_by_SMTPlib error = {str(e)}\n<br>'
|
||||||
|
f'{str(traceback.format_exc())}')
|
||||||
print(msg)
|
print(msg)
|
||||||
try:
|
try:
|
||||||
mail_lib.quit()
|
mail_lib.quit()
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
|
|
||||||
from django.http import HttpResponse, Http404, FileResponse
|
from django.http import HttpResponse, Http404, FileResponse, HttpResponseRedirect
|
||||||
from django.template import loader, RequestContext
|
from django.template import loader, RequestContext
|
||||||
from django.contrib.auth.decorators import login_required
|
from django.contrib.auth.decorators import login_required
|
||||||
|
|
||||||
@@ -15,6 +15,7 @@ from django.views.decorators.csrf import csrf_exempt
|
|||||||
from webpush import send_user_notification
|
from webpush import send_user_notification
|
||||||
import json
|
import json
|
||||||
from datetime import datetime, timedelta
|
from datetime import datetime, timedelta
|
||||||
|
from django.urls import reverse
|
||||||
|
|
||||||
def generate_routes(request, routes_count):
|
def generate_routes(request, routes_count):
|
||||||
if (not request.user
|
if (not request.user
|
||||||
@@ -73,7 +74,7 @@ def test_code(request):
|
|||||||
|
|
||||||
from RoutesApp.search_matches import search_matches
|
from RoutesApp.search_matches import search_matches
|
||||||
from RoutesApp.models import Route
|
from RoutesApp.models import Route
|
||||||
search_matches(Route.objects.filter(id=16))
|
search_matches(Route.objects.filter(id=17158))
|
||||||
|
|
||||||
# from RoutesApp.funcs import get_city_by_type_transport_and_address_point
|
# from RoutesApp.funcs import get_city_by_type_transport_and_address_point
|
||||||
# from RoutesApp.models import Route
|
# from RoutesApp.models import Route
|
||||||
@@ -248,6 +249,12 @@ def StaticPageView(request, url):
|
|||||||
'route_form': RouteForm(),
|
'route_form': RouteForm(),
|
||||||
'owner_type': 'mover'
|
'owner_type': 'mover'
|
||||||
})
|
})
|
||||||
|
elif url in ['landing_customer', 'landing_mover']:
|
||||||
|
raise Http404
|
||||||
|
# return HttpResponseRedirect(reverse('customer_landing_page'))
|
||||||
|
# elif url == 'landing_mover':
|
||||||
|
# return HttpResponseRedirect(reverse('mover_landing_page'))
|
||||||
|
|
||||||
# elif url == 'works':
|
# elif url == 'works':
|
||||||
# return WorksPage(request)
|
# return WorksPage(request)
|
||||||
elif url in ['main']:
|
elif url in ['main']:
|
||||||
|
|||||||
@@ -30,6 +30,6 @@ class Admin_Route(Admin_Trans_BaseModel):
|
|||||||
search_fields = [
|
search_fields = [
|
||||||
'owner__first_name', 'owner__last_name', 'from_city__name', 'to_city__name', 'owner__email'
|
'owner__first_name', 'owner__last_name', 'from_city__name', 'to_city__name', 'owner__email'
|
||||||
]
|
]
|
||||||
raw_id_fields = ['from_city', 'to_city']
|
raw_id_fields = ['from_city', 'to_city', 'owner']
|
||||||
|
|
||||||
admin.site.register(Route,Admin_Route)
|
admin.site.register(Route, Admin_Route)
|
||||||
|
|||||||
@@ -47,7 +47,7 @@ def send_push_message_for_found_matches_routes(route, data_Dict):
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
def send_mail_found_matches_routes(route, data_Dict):
|
def send_mail_found_matches_routes(route, matched_route, data_Dict):
|
||||||
print(f'send_mail_found_matches_routes to route id = {route.id}')
|
print(f'send_mail_found_matches_routes to route id = {route.id}')
|
||||||
|
|
||||||
Dict = {
|
Dict = {
|
||||||
@@ -67,7 +67,9 @@ def send_mail_found_matches_routes(route, data_Dict):
|
|||||||
from_email=mail_sets['sender_email'], to=to,
|
from_email=mail_sets['sender_email'], to=to,
|
||||||
html_content=html
|
html_content=html
|
||||||
)
|
)
|
||||||
to = ['web@syncsystems.net']
|
|
||||||
|
subject = f'route matches {route.id} <> {matched_route.id} send to {route.owner.email}'
|
||||||
|
to = ['web@syncsystems.net', 'sa@a3-global.com']
|
||||||
res = admin_send_mail_by_SMTPlib(
|
res = admin_send_mail_by_SMTPlib(
|
||||||
mail_sets,
|
mail_sets,
|
||||||
subject=subject,
|
subject=subject,
|
||||||
@@ -78,6 +80,56 @@ def send_mail_found_matches_routes(route, data_Dict):
|
|||||||
return res
|
return res
|
||||||
|
|
||||||
|
|
||||||
|
def user_notify_by_result_search_matches(route_for_send, founded_route, params):
|
||||||
|
log = ''
|
||||||
|
|
||||||
|
data_Dict = None
|
||||||
|
try:
|
||||||
|
data_Dict = get_Dict_for_send_msgs(params, founded_route.owner_type)
|
||||||
|
except Exception as e:
|
||||||
|
msg = f'<br>\n! search_matches Error get_Dict_for_send_msgs = {str(e)}'
|
||||||
|
print(msg)
|
||||||
|
log += msg
|
||||||
|
|
||||||
|
if data_Dict and check_option_in_cur_user_subscribe(
|
||||||
|
route_for_send.owner, 'push уведомления'
|
||||||
|
):
|
||||||
|
try:
|
||||||
|
msg = send_push_message_for_found_matches_routes(route_for_send, data_Dict)
|
||||||
|
if msg:
|
||||||
|
log += msg
|
||||||
|
except Exception as e:
|
||||||
|
msg = f'<br>\n! search_matches Error send_push_message_for_found_matches_routes = {str(e)}'
|
||||||
|
print(msg)
|
||||||
|
log += msg
|
||||||
|
|
||||||
|
if data_Dict and check_option_in_cur_user_subscribe(
|
||||||
|
route_for_send.owner,
|
||||||
|
'уведомление на e-mail о появлении перевозчика по заданным критериям'
|
||||||
|
):
|
||||||
|
try:
|
||||||
|
msg = send_mail_found_matches_routes(route_for_send, founded_route, data_Dict)
|
||||||
|
if msg:
|
||||||
|
log += msg
|
||||||
|
except Exception as e:
|
||||||
|
msg = f'<br>\n! search_matches Error send_mail_found_matches_routes = {str(e)}'
|
||||||
|
print(msg)
|
||||||
|
log += msg
|
||||||
|
|
||||||
|
return log
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
def users_notify_by_result_search_matches(source_route, found_routes, params):
|
||||||
|
log = ''
|
||||||
|
log += user_notify_by_result_search_matches(source_route, found_routes[0], params)
|
||||||
|
|
||||||
|
for route in found_routes:
|
||||||
|
log += user_notify_by_result_search_matches(route, source_route, params)
|
||||||
|
|
||||||
|
return log
|
||||||
|
|
||||||
|
|
||||||
def search_matches(for_routes=None):
|
def search_matches(for_routes=None):
|
||||||
print('search_matches')
|
print('search_matches')
|
||||||
|
|
||||||
@@ -147,39 +199,9 @@ def search_matches(for_routes=None):
|
|||||||
|
|
||||||
if found_routes:
|
if found_routes:
|
||||||
msg = f'found routes for send messages = {found_routes.count()}'
|
msg = f'found routes for send messages = {found_routes.count()}'
|
||||||
|
|
||||||
data_Dict = None
|
|
||||||
try:
|
|
||||||
data_Dict = get_Dict_for_send_msgs(params, found_routes[0].owner_type)
|
|
||||||
except Exception as e:
|
|
||||||
msg = f'<br>\n! search_matches Error get_Dict_for_send_msgs = {str(e)}'
|
|
||||||
print(msg)
|
print(msg)
|
||||||
log += msg
|
|
||||||
|
|
||||||
if data_Dict and check_option_in_cur_user_subscribe(
|
log += users_notify_by_result_search_matches(route, found_routes, params)
|
||||||
route.owner, 'push уведомления'
|
|
||||||
):
|
|
||||||
try:
|
|
||||||
msg = send_push_message_for_found_matches_routes(route, data_Dict)
|
|
||||||
if msg:
|
|
||||||
log += msg
|
|
||||||
except Exception as e:
|
|
||||||
msg = f'<br>\n! search_matches Error send_push_message_for_found_matches_routes = {str(e)}'
|
|
||||||
print(msg)
|
|
||||||
log += msg
|
|
||||||
|
|
||||||
if data_Dict and check_option_in_cur_user_subscribe(
|
|
||||||
route.owner,
|
|
||||||
'уведомление на e-mail о появлении перевозчика по заданным критериям'
|
|
||||||
):
|
|
||||||
try:
|
|
||||||
msg = send_mail_found_matches_routes(route, data_Dict)
|
|
||||||
if msg:
|
|
||||||
log += msg
|
|
||||||
except Exception as e:
|
|
||||||
msg = f'<br>\n! search_matches Error send_mail_found_matches_routes = {str(e)}'
|
|
||||||
print(msg)
|
|
||||||
log += msg
|
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
msg = f'<br>\n! search_matches Error = {str(e)}'
|
msg = f'<br>\n! search_matches Error = {str(e)}'
|
||||||
|
|||||||
14
SubscribesApp/migrations/0008_merge_20250217_1748.py
Normal file
14
SubscribesApp/migrations/0008_merge_20250217_1748.py
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
# Generated by Django 4.2.2 on 2025-02-17 17:48
|
||||||
|
|
||||||
|
from django.db import migrations
|
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration):
|
||||||
|
|
||||||
|
dependencies = [
|
||||||
|
('SubscribesApp', '0004_alter_subscribe_bg_color_alter_subscribe_text_color'),
|
||||||
|
('SubscribesApp', '0007_subscribeoption_route_highlight_hours'),
|
||||||
|
]
|
||||||
|
|
||||||
|
operations = [
|
||||||
|
]
|
||||||
@@ -1,5 +1,5 @@
|
|||||||
User-agent: *
|
User-agent: *
|
||||||
Disallow: /
|
Allow: /
|
||||||
Disallow: */admin/*
|
Disallow: */admin/*
|
||||||
|
|
||||||
Host: dev.tripwb.com
|
Host: tripwb.com
|
||||||
@@ -27,11 +27,12 @@ function SendLoginForm(el){
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
if(url === '/user_account/login/'){
|
if(url === '/user_account/login/') {
|
||||||
|
localStorage.setItem('needed_fbq', true)
|
||||||
location.href = data.redirect_url//`/profile/page/dashboard/`
|
location.href = data.redirect_url//`/profile/page/dashboard/`
|
||||||
window.sessionStorage.removeItem('mailingSubscribeRequired')
|
window.sessionStorage.removeItem('mailingSubscribeRequired')
|
||||||
window.sessionStorage.removeItem('email')
|
window.sessionStorage.removeItem('email')
|
||||||
} else if(url === '/user_account/password_recovery/'){
|
} else if (url === '/user_account/password_recovery/'){
|
||||||
document.getElementById('password_recovery').innerHTML = data.message
|
document.getElementById('password_recovery').innerHTML = data.message
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,26 +36,26 @@ function SendRegistrationForm(el, user_id){
|
|||||||
window.sessionStorage.removeItem('mailingSubscribeRequired')
|
window.sessionStorage.removeItem('mailingSubscribeRequired')
|
||||||
window.sessionStorage.removeItem('email')
|
window.sessionStorage.removeItem('email')
|
||||||
|
|
||||||
// fbq('track', 'Contact');
|
fbq('track', 'Contact');
|
||||||
|
|
||||||
|
|
||||||
ttq.identify({
|
// ttq.identify({
|
||||||
"email": "<hashed_email_address>", // string. The email of the customer if available. It must be hashed with SHA-256 on the client side.
|
// "email": "<hashed_email_address>", // string. The email of the customer if available. It must be hashed with SHA-256 on the client side.
|
||||||
"phone_number": "<hashed_phone_number>", // string. The phone number of the customer if available. It must be hashed with SHA-256 on the client side.
|
// "phone_number": "<hashed_phone_number>", // string. The phone number of the customer if available. It must be hashed with SHA-256 on the client side.
|
||||||
"external_id": "<hashed_extenal_id>" // string. Any unique identifier, such as loyalty membership IDs, user IDs, and external cookie IDs.It must be hashed with SHA-256 on the client side.
|
// "external_id": "<hashed_extenal_id>" // string. Any unique identifier, such as loyalty membership IDs, user IDs, and external cookie IDs.It must be hashed with SHA-256 on the client side.
|
||||||
});
|
// });
|
||||||
|
|
||||||
ttq.track('CompleteRegistration', {
|
// ttq.track('CompleteRegistration', {
|
||||||
"contents": [
|
// "contents": [
|
||||||
{
|
// {
|
||||||
"content_id": "<content_identifier>", // string. ID of the product. Example: "1077218".
|
// "content_id": "<content_identifier>", // string. ID of the product. Example: "1077218".
|
||||||
"content_type": "<content_type>", // string. Either product or product_group.
|
// "content_type": "<content_type>", // string. Either product or product_group.
|
||||||
"content_name": "<content_name>" // string. The name of the page or product. Example: "shirt".
|
// "content_name": "<content_name>" // string. The name of the page or product. Example: "shirt".
|
||||||
}
|
// }
|
||||||
],
|
// ],
|
||||||
"value": "<content_value>", // number. Value of the order or items sold. Example: 100.
|
// "value": "<content_value>", // number. Value of the order or items sold. Example: 100.
|
||||||
"currency": "<content_currency>" // string. The 4217 currency code. Example: "USD".
|
// "currency": "<content_currency>" // string. The 4217 currency code. Example: "USD".
|
||||||
});
|
// });
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -87,5 +87,3 @@ function SendRegistrationForm(el, user_id){
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
<a href="https://vk.com/club226251027" target="_blank"><img class="svg" src="/static/img/svg/vk.svg"></a>
|
<a href="https://vk.com/club226251027" target="_blank"><img class="svg" src="/static/img/svg/vk.svg"></a>
|
||||||
<a href="https://www.tiktok.com/@tripwithbonus?_t=8qHingfQWNq" target="_blank"><img class="svg" src="/static/img/svg/tiktok.svg"></a>
|
<a href="https://www.tiktok.com/@tripwithbonus?_t=8qHingfQWNq" target="_blank"><img class="svg" src="/static/img/svg/tiktok.svg"></a>
|
||||||
<a href="https://youtube.com/@tripwb?si=oiNZrtiOqx6OePJv" target="_blank"><img class="svg" src="/static/img/svg/Youtube.svg"></a>
|
<a href="https://youtube.com/@tripwb?si=oiNZrtiOqx6OePJv" target="_blank"><img class="svg" src="/static/img/svg/Youtube.svg"></a>
|
||||||
<a href="https://t.me/+XA6A8Ls7fYw2Yzli" target="_blank"><img class="svg" src="/static/img/svg/Telegram.svg"></a>
|
<a href="https://t.me/tripWB" target="_blank"><img class="svg" src="/static/img/svg/Telegram.svg"></a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="second-column">
|
<div class="second-column">
|
||||||
|
|||||||
@@ -18,7 +18,7 @@
|
|||||||
<span id="sub_title_static">{% trans "Быстро, без посредников, без ограничений" %}</span>
|
<span id="sub_title_static">{% trans "Быстро, без посредников, без ограничений" %}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if page.url == 'for_movers' %}
|
{% if page.url == 'for_movers' %}
|
||||||
<span id="sub_title_static">{% trans "Общайся, перевози послылки и получай бонусы" %}</span>
|
<span id="sub_title_static">{% trans "Общайся, перевози посылки и получай бонусы" %}</span>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
<div class="button_container">
|
<div class="button_container">
|
||||||
|
|
||||||
|
|||||||
@@ -94,5 +94,15 @@
|
|||||||
<option value="last" {% if route_form.initial.sort == item.0 %} selected{% endif %}>{% translate "По последним" %}</option>
|
<option value="last" {% if route_form.initial.sort == item.0 %} selected{% endif %}>{% translate "По последним" %}</option>
|
||||||
</select>
|
</select>
|
||||||
</div>
|
</div>
|
||||||
|
<div><!-- Yandex.RTB R-A-14631137-1 -->
|
||||||
|
<div id="yandex_rtb_R-A-14631137-1"></div>
|
||||||
|
<script>
|
||||||
|
window.yaContextCb.push(() => {
|
||||||
|
Ya.Context.AdvManager.render({
|
||||||
|
"blockId": "R-A-14631137-1",
|
||||||
|
"renderTo": "yandex_rtb_R-A-14631137-1"
|
||||||
|
})
|
||||||
|
})
|
||||||
|
</script></div>
|
||||||
|
|
||||||
{#</div>#}
|
{#</div>#}
|
||||||
@@ -649,7 +649,7 @@
|
|||||||
|
|
||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<meta property="og:title" content="Партнерская программа доставки посылок в СНГ | TWB">
|
<meta property="og:title" content="Партнерская программа доставки посылок в СНГ | TWB">
|
||||||
<meta property="og:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнерам">
|
<meta property="og:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнером">
|
||||||
<meta property="og:url" content="https://tripwb.com/ru/page/partners/">
|
<meta property="og:url" content="https://tripwb.com/ru/page/partners/">
|
||||||
<meta property="og:image" content="https://tripwb.com/static/img/png/finlogo.png">
|
<meta property="og:image" content="https://tripwb.com/static/img/png/finlogo.png">
|
||||||
<meta property="og:site_name" content="TWB">
|
<meta property="og:site_name" content="TWB">
|
||||||
@@ -657,7 +657,7 @@
|
|||||||
<meta property="fb:app_id" content="tripwithbonus">
|
<meta property="fb:app_id" content="tripwithbonus">
|
||||||
|
|
||||||
<meta name="twitter:title" content="Партнерская программа доставки посылок в СНГ | TWB">
|
<meta name="twitter:title" content="Партнерская программа доставки посылок в СНГ | TWB">
|
||||||
<meta name="twitter:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнерам">
|
<meta name="twitter:description" content="Хотите стать партнером? ✓ Выгодные условия нашим партнерам ✓ Действует система бонусов и накоплений ➡️ Становитесь нашим партнером">
|
||||||
<meta name="twitter:card" content="summary">
|
<meta name="twitter:card" content="summary">
|
||||||
|
|
||||||
<script type="application/ld+json">
|
<script type="application/ld+json">
|
||||||
|
|||||||
@@ -7,9 +7,6 @@
|
|||||||
<link rel="stylesheet" href="{% static "css/slick.css" %}">
|
<link rel="stylesheet" href="{% static "css/slick.css" %}">
|
||||||
<script src="{% static "js/slick.min.js" %}"></script>
|
<script src="{% static "js/slick.min.js" %}"></script>
|
||||||
<script src="{% static "js/push/lazyload.min.js" %}"></script>
|
<script src="{% static "js/push/lazyload.min.js" %}"></script>
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
|
||||||
|
|
||||||
<!-- Meta Pixel Code -->
|
<!-- Meta Pixel Code -->
|
||||||
<script>
|
<script>
|
||||||
@@ -29,6 +26,44 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
|||||||
/></noscript>
|
/></noscript>
|
||||||
<!-- End Meta Pixel Code -->
|
<!-- End Meta Pixel Code -->
|
||||||
|
|
||||||
|
<!-- TikTok Pixel Code Start -->
|
||||||
|
<script>
|
||||||
|
!function (w, d, t) {
|
||||||
|
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(
|
||||||
|
var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script")
|
||||||
|
;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
|
||||||
|
|
||||||
|
|
||||||
|
ttq.load('CVE2FBRC77U60E3J820G');
|
||||||
|
ttq.page();
|
||||||
|
}(window, document, 'ttq');
|
||||||
|
</script>
|
||||||
|
<!-- TikTok Pixel Code End -->
|
||||||
|
|
||||||
|
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<!-- 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(97070898, "init", {
|
||||||
|
clickmap:true,
|
||||||
|
trackLinks:true,
|
||||||
|
accurateTrackBounce:true,
|
||||||
|
webvisor:true,
|
||||||
|
ecommerce:"dataLayer"
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<noscript><div><img src="https://mc.yandex.ru/watch/97070898" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
||||||
|
<!-- /Yandex.Metrika counter -->
|
||||||
|
|
||||||
<section class="presentation">
|
<section class="presentation">
|
||||||
<div class="presentation__top">
|
<div class="presentation__top">
|
||||||
<h1 class="presentation__title">
|
<h1 class="presentation__title">
|
||||||
@@ -184,7 +219,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
|||||||
<div class="subtitle">
|
<div class="subtitle">
|
||||||
{% translate "Чтобы разместить объявление - зарегистрируйтесь" %}
|
{% translate "Чтобы разместить объявление - зарегистрируйтесь" %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}"
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||||
class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -202,9 +237,9 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
|||||||
<div class="h3">
|
<div class="h3">
|
||||||
{% translate "Хотите перевезти посылку и окупить стоимость дороги, топлива?" %}
|
{% translate "Хотите перевезти посылку и окупить стоимость дороги, топлива?" %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}" class="use__btn btn btn--primary">{% translate "Найти посылку" %}</a>
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__btn btn btn--primary">{% translate "Найти посылку" %}</a>
|
||||||
<br/>
|
<br/>
|
||||||
<a href="{% url "registration_page" %}" class="use__link">{% translate "Зарегистрироваться" %}</a>
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__link">{% translate "Зарегистрироваться" %}</a>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section class="benefits" id="benefits">
|
<section class="benefits" id="benefits">
|
||||||
@@ -399,7 +434,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
|||||||
<div class="subtitle">
|
<div class="subtitle">
|
||||||
{% translate "Зарегистрируйся на <a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и получи отклики от людей с посылками" %}
|
{% translate "Зарегистрируйся на <a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и получи отклики от людей с посылками" %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}"
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||||
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener("DOMContentLoaded", () => {
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
@@ -482,7 +517,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
|||||||
<div class="title">
|
<div class="title">
|
||||||
{% translate "Размести свое объявление какую посылку ты можешь перевезти прямо сейчас " %}
|
{% translate "Размести свое объявление какую посылку ты можешь перевезти прямо сейчас " %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}"
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||||
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -503,7 +538,7 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
|||||||
<div class="h3">
|
<div class="h3">
|
||||||
{% translate "Зарегистрируйся бесплатно прямо сейчас и начни размещать объявления о перевозки посылки" %}
|
{% translate "Зарегистрируйся бесплатно прямо сейчас и начни размещать объявления о перевозки посылки" %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}"
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||||
class="sore__btn btn btn--primary">{% translate "Зарегистрироваться" %}</a>
|
class="sore__btn btn btn--primary">{% translate "Зарегистрироваться" %}</a>
|
||||||
<br/>
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -9,6 +9,8 @@
|
|||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|
||||||
|
<meta name="facebook-domain-verification" content="e9xtao0o9fvuc3gbturkp57qi2upqb" />
|
||||||
<div class="top_block_static_wrapper_main">
|
<div class="top_block_static_wrapper_main">
|
||||||
<div class="top_block_static">
|
<div class="top_block_static">
|
||||||
|
|
||||||
|
|||||||
@@ -7,11 +7,8 @@
|
|||||||
<link rel="stylesheet" href="{% static "css/slick.css" %}">
|
<link rel="stylesheet" href="{% static "css/slick.css" %}">
|
||||||
<script src="{% static "js/slick.min.js" %}"></script>
|
<script src="{% static "js/slick.min.js" %}"></script>
|
||||||
<script src="{% static "js/push/lazyload.min.js" %}"></script>
|
<script src="{% static "js/push/lazyload.min.js" %}"></script>
|
||||||
{% endblock %}
|
|
||||||
|
|
||||||
{% block content %}
|
<!-- Meta Pixel Code -->
|
||||||
|
|
||||||
<!-- Meta Pixel Code -->
|
|
||||||
<script>
|
<script>
|
||||||
!function(f,b,e,v,n,t,s)
|
!function(f,b,e,v,n,t,s)
|
||||||
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||||
@@ -29,6 +26,44 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
|||||||
/></noscript>
|
/></noscript>
|
||||||
<!-- End Meta Pixel Code -->
|
<!-- End Meta Pixel Code -->
|
||||||
|
|
||||||
|
<!-- TikTok Pixel Code Start -->
|
||||||
|
<script>
|
||||||
|
!function (w, d, t) {
|
||||||
|
w.TiktokAnalyticsObject=t;var ttq=w[t]=w[t]||[];ttq.methods=["page","track","identify","instances","debug","on","off","once","ready","alias","group","enableCookie","disableCookie","holdConsent","revokeConsent","grantConsent"],ttq.setAndDefer=function(t,e){t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}};for(var i=0;i<ttq.methods.length;i++)ttq.setAndDefer(ttq,ttq.methods[i]);ttq.instance=function(t){for(
|
||||||
|
var e=ttq._i[t]||[],n=0;n<ttq.methods.length;n++)ttq.setAndDefer(e,ttq.methods[n]);return e},ttq.load=function(e,n){var r="https://analytics.tiktok.com/i18n/pixel/events.js",o=n&&n.partner;ttq._i=ttq._i||{},ttq._i[e]=[],ttq._i[e]._u=r,ttq._t=ttq._t||{},ttq._t[e]=+new Date,ttq._o=ttq._o||{},ttq._o[e]=n||{};n=document.createElement("script")
|
||||||
|
;n.type="text/javascript",n.async=!0,n.src=r+"?sdkid="+e+"&lib="+t;e=document.getElementsByTagName("script")[0];e.parentNode.insertBefore(n,e)};
|
||||||
|
|
||||||
|
|
||||||
|
ttq.load('CVE2H93C77U83BE8I4U0');
|
||||||
|
ttq.page();
|
||||||
|
}(window, document, 'ttq');
|
||||||
|
</script>
|
||||||
|
<!-- TikTok Pixel Code End -->
|
||||||
|
|
||||||
|
<meta name="facebook-domain-verification" content="e9xtao0o9fvuc3gbturkp57qi2upqb" />
|
||||||
|
{% endblock %}
|
||||||
|
|
||||||
|
{% block content %}
|
||||||
|
|
||||||
|
<!-- 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(97070898, "init", {
|
||||||
|
clickmap:true,
|
||||||
|
trackLinks:true,
|
||||||
|
accurateTrackBounce:true,
|
||||||
|
webvisor:true,
|
||||||
|
ecommerce:"dataLayer"
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
<noscript><div><img src="https://mc.yandex.ru/watch/97070898" style="position:absolute; left:-9999px;" alt="" /></div></noscript>
|
||||||
|
<!-- /Yandex.Metrika counter -->
|
||||||
|
|
||||||
|
|
||||||
<section class="presentation">
|
<section class="presentation">
|
||||||
<div class="presentation__top">
|
<div class="presentation__top">
|
||||||
@@ -186,7 +221,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
|||||||
<div class="subtitle">
|
<div class="subtitle">
|
||||||
{% translate "Чтобы разместить объявление - зарегистрируйтесь" %}
|
{% translate "Чтобы разместить объявление - зарегистрируйтесь" %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}"
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||||
class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
class="easy__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||||
</section>
|
</section>
|
||||||
<section class="use">
|
<section class="use">
|
||||||
@@ -204,9 +239,9 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
|||||||
<div class="h3">
|
<div class="h3">
|
||||||
{% translate "Нужно отправить посылку партнеру, родителям или знакомым?" %}
|
{% translate "Нужно отправить посылку партнеру, родителям или знакомым?" %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}" class="use__btn btn btn--primary">{% translate "Найти перевозчика" %}</a>
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__btn btn btn--primary">{% translate "Найти перевозчика" %}</a>
|
||||||
<br/>
|
<br/>
|
||||||
<a href="{% url "registration_page" %}" class="use__link">{% translate "Зарегистрироваться" %}</a>
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;" class="use__link">{% translate "Зарегистрироваться" %}</a>
|
||||||
</section>
|
</section>
|
||||||
<section class="diff">
|
<section class="diff">
|
||||||
<div class="title">{% translate "Чем мы отличаемся от классических почтовых сервисов" %}</div>
|
<div class="title">{% translate "Чем мы отличаемся от классических почтовых сервисов" %}</div>
|
||||||
@@ -412,7 +447,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
|||||||
<div class="subtitle">
|
<div class="subtitle">
|
||||||
{% translate "Зарегистрируйся на <a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и получи запросы на перевозку твоей посылки" %}
|
{% translate "Зарегистрируйся на <a href='https://tripwb.com/' class='animate__link'>Trip With Bonus</a> прямо сейчас, размести бесплатно объявление и получи запросы на перевозку твоей посылки" %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}"
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||||
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||||
<script>
|
<script>
|
||||||
document.addEventListener("DOMContentLoaded", () => {
|
document.addEventListener("DOMContentLoaded", () => {
|
||||||
@@ -489,11 +524,11 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
|||||||
</div>
|
</div>
|
||||||
<div class="benefits__third">
|
<div class="benefits__third">
|
||||||
<div class="benefits__item">
|
<div class="benefits__item">
|
||||||
<h2>{% translate "Уведомления" %}</h2>
|
<h2>{% translate "Удобный поиск" %}</h2>
|
||||||
<p>{% translate "Можешь самостоятельно найти перевозчиков или разместить объявление на сайте." %}</p>
|
<p>{% translate "Можешь самостоятельно найти перевозчиков или разместить объявление на сайте." %}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="benefits__item">
|
<div class="benefits__item">
|
||||||
<h2>{% translate "Удобный поиск" %}</h2>
|
<h2>{% translate "Уведомления" %}</h2>
|
||||||
<p>{% translate "Как только по твоему объявлению найдется перевозчик мы сообщим на E-mail." %}</p>
|
<p>{% translate "Как только по твоему объявлению найдется перевозчик мы сообщим на E-mail." %}</p>
|
||||||
</div>
|
</div>
|
||||||
<div class="benefits__item">
|
<div class="benefits__item">
|
||||||
@@ -552,7 +587,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
|||||||
<div class="subtitle">
|
<div class="subtitle">
|
||||||
{% translate "Достаточно просто зайти на сайт, разместить объявление в пару кликов и дождаться откликов от попутчиков." %}
|
{% translate "Достаточно просто зайти на сайт, разместить объявление в пару кликов и дождаться откликов от попутчиков." %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}"
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||||
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
class="use__btn btn btn--primary">{% translate "Разместить объявление" %}</a>
|
||||||
</section>
|
</section>
|
||||||
<section class="sore">
|
<section class="sore">
|
||||||
@@ -572,7 +607,7 @@ src="https://www.facebook.com/tr?id=1009253847591455&ev=PageView&noscript=1"
|
|||||||
<div class="h3">
|
<div class="h3">
|
||||||
{% translate "Зарегистрируйте бесплатно прямо сейчас и размести свое первое объявление об отправке посылки" %}
|
{% translate "Зарегистрируйте бесплатно прямо сейчас и размести свое первое объявление об отправке посылки" %}
|
||||||
</div>
|
</div>
|
||||||
<a href="{% url "registration_page" %}"
|
<a href="{% url "registration_page" %}" onclick="ym(97070898,'reachGoal','Registration'); return true;"
|
||||||
class="sore__btn btn btn--primary">{% translate "Зарегистрироваться и разместить" %}</a>
|
class="sore__btn btn btn--primary">{% translate "Зарегистрироваться и разместить" %}</a>
|
||||||
<br/>
|
<br/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -5,7 +5,6 @@
|
|||||||
{% block meta %}
|
{% block meta %}
|
||||||
<script src='{% static "js/authorization.js" %}'></script>
|
<script src='{% static "js/authorization.js" %}'></script>
|
||||||
<script src='{% static "js/registration.js" %}'></script>
|
<script src='{% static "js/registration.js" %}'></script>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
|
|
||||||
{% block meta %}
|
{% block meta %}
|
||||||
<script src='{% static "js/registration.js" %}'></script>
|
<script src='{% static "js/registration.js" %}'></script>
|
||||||
|
<script>fbq('track', 'Contact');</script>
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
{% block content %}
|
{% block content %}
|
||||||
@@ -25,5 +26,6 @@ src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
|||||||
/></noscript>
|
/></noscript>
|
||||||
<!-- End Meta Pixel Code -->
|
<!-- End Meta Pixel Code -->
|
||||||
|
|
||||||
|
|
||||||
{% include 'forms/f_registration.html' %}
|
{% include 'forms/f_registration.html' %}
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
@@ -33,6 +33,27 @@
|
|||||||
|
|
||||||
|
|
||||||
<script defer src='{% static "js/check_new_messages.js" %}'></script>
|
<script defer src='{% static "js/check_new_messages.js" %}'></script>
|
||||||
|
<script>
|
||||||
|
!function(f,b,e,v,n,t,s)
|
||||||
|
{if(f.fbq)return;n=f.fbq=function(){n.callMethod?
|
||||||
|
n.callMethod.apply(n,arguments):n.queue.push(arguments)};
|
||||||
|
if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
|
||||||
|
n.queue=[];t=b.createElement(e);t.async=!0;
|
||||||
|
t.src=v;s=b.getElementsByTagName(e)[0];
|
||||||
|
s.parentNode.insertBefore(t,s)}(window, document,'script',
|
||||||
|
'https://connect.facebook.net/en_US/fbevents.js');
|
||||||
|
fbq('init', '1123814969330706');
|
||||||
|
fbq('track', 'PageView');
|
||||||
|
</script>
|
||||||
|
<noscript><img height="1" width="1" style="display:none"
|
||||||
|
src="https://www.facebook.com/tr?id=1123814969330706&ev=PageView&noscript=1"
|
||||||
|
/></noscript>
|
||||||
|
<script>
|
||||||
|
if (localStorage.getItem("needed_fbq")){
|
||||||
|
fbq('track', 'Contact');
|
||||||
|
localStorage.removeItem("needed_fbq")
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
{% endblock %}
|
{% endblock %}
|
||||||
|
|
||||||
|
|||||||
@@ -17,6 +17,14 @@
|
|||||||
{% webpush_header %}
|
{% webpush_header %}
|
||||||
<meta name="google-site-verification" content="4V4upJSK2_4MBrr5ZXjcCLw3bBwXc4_gsnKudJAaWqI" />
|
<meta name="google-site-verification" content="4V4upJSK2_4MBrr5ZXjcCLw3bBwXc4_gsnKudJAaWqI" />
|
||||||
<meta name="yandex-verification" content="b8a976575e41fbbc" />
|
<meta name="yandex-verification" content="b8a976575e41fbbc" />
|
||||||
|
<meta name="google-adsense-account" content="ca-pub-3479005276839542">
|
||||||
|
|
||||||
|
<!-- Yandex.RTB -->
|
||||||
|
<script>window.yaContextCb=window.yaContextCb||[]</script>
|
||||||
|
<script src="https://yandex.ru/ads/system/context.js" async></script>
|
||||||
|
|
||||||
|
<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-3479005276839542"
|
||||||
|
crossorigin="anonymous"></script>
|
||||||
|
|
||||||
{% include "inter/meta_OpenGraph_Schema.html" %}
|
{% include "inter/meta_OpenGraph_Schema.html" %}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user