commit
0c8ab333bd
After Width: | Height: | Size: 1.5 KiB |
File diff suppressed because one or more lines are too long
@ -0,0 +1,91 @@ |
|||||||
|
User-agent: * |
||||||
|
Disallow: /cgi-bin |
||||||
|
Disallow: /? |
||||||
|
Disallow: /wp- |
||||||
|
Disallow: /wp/ |
||||||
|
Disallow: *?s= |
||||||
|
Disallow: *&s= |
||||||
|
Disallow: /search/ |
||||||
|
Disallow: /author/ |
||||||
|
Disallow: /users/ |
||||||
|
Disallow: */trackback |
||||||
|
Disallow: */feed |
||||||
|
Disallow: */rss |
||||||
|
Disallow: */embed |
||||||
|
Disallow: */wlwmanifest.xml |
||||||
|
Disallow: /xmlrpc.php |
||||||
|
Allow: */uploads |
||||||
|
<<<<<<< HEAD |
||||||
|
Sitemap: https://cosmopet.ru/sitemap_index.xml |
||||||
|
======= |
||||||
|
Sitemap: https://cosmopet.ae/sitemap_index.xml |
||||||
|
>>>>>>> 2323f31 (Fix | bug fix) |
||||||
|
|
||||||
|
User-agent: GoogleBot |
||||||
|
Disallow: /cgi-bin |
||||||
|
Disallow: /? |
||||||
|
Disallow: /wp- |
||||||
|
Disallow: /wp/ |
||||||
|
Disallow: *?s= |
||||||
|
Disallow: *&s= |
||||||
|
Disallow: /search/ |
||||||
|
Disallow: /author/ |
||||||
|
Disallow: /users/ |
||||||
|
Disallow: */trackback |
||||||
|
Disallow: */feed |
||||||
|
Disallow: */rss |
||||||
|
Disallow: */embed |
||||||
|
Disallow: */wlwmanifest.xml |
||||||
|
Disallow: /xmlrpc.php |
||||||
|
Disallow: *utm*= |
||||||
|
Disallow: *etext*= |
||||||
|
Disallow: *?add-to-cart* |
||||||
|
Disallow: *?per_page* |
||||||
|
Disallow: *?per_row* |
||||||
|
Disallow: *openstat= |
||||||
|
Allow: */uploads |
||||||
|
Allow: /*/*.js |
||||||
|
Allow: /*/*.css |
||||||
|
Allow: /wp-*.png |
||||||
|
Allow: /wp-*.jpg |
||||||
|
Allow: /wp-*.jpeg |
||||||
|
Allow: /wp-*.gif |
||||||
|
Allow: /wp-admin/admin-ajax.php |
||||||
|
<<<<<<< HEAD |
||||||
|
Sitemap: https://cosmopet.ru/sitemap_index.xml |
||||||
|
======= |
||||||
|
Sitemap: https://cosmopet.ae/sitemap_index.xml |
||||||
|
>>>>>>> 2323f31 (Fix | bug fix) |
||||||
|
|
||||||
|
User-agent: Yandex |
||||||
|
Disallow: /cgi-bin |
||||||
|
Disallow: /? |
||||||
|
Disallow: /wp- |
||||||
|
Disallow: /wp/ |
||||||
|
Disallow: *?s= |
||||||
|
Disallow: *&s= |
||||||
|
Disallow: /search/ |
||||||
|
Disallow: /author/ |
||||||
|
Disallow: /users/ |
||||||
|
Disallow: */trackback |
||||||
|
Disallow: */feed |
||||||
|
Disallow: */rss |
||||||
|
Disallow: */embed |
||||||
|
Disallow: */wlwmanifest.xml |
||||||
|
Disallow: /xmlrpc.php |
||||||
|
Allow: */uploads |
||||||
|
Allow: /*/*.js |
||||||
|
Allow: /*/*.css |
||||||
|
Allow: /wp-*.png |
||||||
|
Allow: /wp-*.jpg |
||||||
|
Allow: /wp-*.jpeg |
||||||
|
Allow: /wp-*.gif |
||||||
|
Allow: /wp-admin/admin-ajax.php |
||||||
|
<<<<<<< HEAD |
||||||
|
Sitemap: https://cosmopet.ru/sitemap_index.xml |
||||||
|
======= |
||||||
|
Sitemap: https://cosmopet.ae/sitemap_index.xml |
||||||
|
>>>>>>> 2323f31 (Fix | bug fix) |
||||||
|
|
||||||
|
Clean-Param: utm_source&utm_medium&utm_campaign&etext&add-to-cart&per_page&per_row&from&attribute_pa_weight&attribute_pa_ves-upakovki |
||||||
|
Clean-Param: openstat |
@ -0,0 +1,18 @@ |
|||||||
|
<?php defined("ABSPATH") or exit; return array ( |
||||||
|
'tokens' => |
||||||
|
array ( |
||||||
|
'wordpress' => 'v4.local.nalowbOW6cLbDpvTkpTnMOVG_1PGHdZKveVTUIbgUv2hUvQGr5zQ-B97k1oykPdIiLx0D0EZ0xlOdhwqgV_DcPsmh3eOrZ9mLJOlmxL0Ciq1Lkhewhj3h1H4FQuiSmfg1oylejDCLtbzfWil8GNxrzGOiBoiiY2XALTxBT0ZDcCZNAGmKQTElV9Lzw5TxDYEm9ELTLCaFj3rTN3Vq8bMQy8aHK-Mgq2QvaD3YYEJiTxcgTl97df6rJQnGtYiG9dvhVFhShNdUj1sWh9vIzoXiUbZbByLwe5ZUwaDzE3G7xosGlTyQJ3WIle3ywsfnjgNxRQwOz--XcEYGUJ_nhR3oJscW7SJXdi-ziE5dnDi6k2XpaIbTbppIUvdeyzRDpC2VajiSvb3jg5kcxHL_3bFo-7D4Rjmtr2ZEr8uS4-xwt8uhLiSBLcRsLSGSCq0yMlNmgsxxUdySDu2Q5P5pDX3_5hBdg-4DuBH.eyJlbmRwb2ludCI6Imh0dHBzOlwvXC9hcGkuY2Rlay5ydVwvY21zIn0', |
||||||
|
'@cdek-it/order' => 'v4.local.-h0jllL5iFSEWHkSBGY1TfzpFIQGYeCif9pGrZorJtWeZ1mUew3VjChFhXL60cVcN5LCXw9d_ui-XG1kIzjrx-UzDfK4fS-l4OznAhLWp7ZT1M3-X-uQiVJk5lzCJ2rNGQ-TJudeOlqL4kDKcqaPLgDzq5MQEqvloGAvviatPL-Y9ifTI183xVxcL6O7J700dFcQEhhSIcYfVnQVG2L1d93gxaUUH-OIMk1hxF1LCdnNIy6F6Zjt9yswXDEfEGWfE8OJysQQJhTj1IIOcf4_AZ-gGrSaXMMcG-J6GfDIjoU-uFrXhpI10grwgmY5Xka3-SPj2fyVV_e5WVuOew5HK0oDyHWqnlE37dWbQTBNPMqUNL50fQxviTzDYHplbM_CUq8YlNx2O_7FMt7b2w2sZMHLZBaWtH4zmOj8T2v-rY_MLeVwPuAfZPKnHqZMoGBL312Zh-tCyqVIp8gZ2jXJvKXnzMgumJv_uxA6Sdgk.eyJlbmRwb2ludCI6Imh0dHBzOlwvXC9hcGkuY2Rlay5ydVwvY21zIn0', |
||||||
|
'@cdek-it/settings' => 'v4.local.Dbb69cuN8PIE7d1_5w3bD5OZI0Z5_K9w_UbnCJGJlM5jLLWkdkKf4d_svhJySz-NMm8xVJsEMEnCOSRVZZZIlcRaOlNqi7bsIDYXmpcnVCKL5v8cUWn9nKRSNvKUuiSqU_1aJl2pi7ZvxpII6STV4xxkcMXdtfYF9AZAOD0b6gtd7v8OdXjBzeKwbsilj7bToUv4mrmAlgMhd_MG3rKRP5-INo0B-rkwK78Ul88YjCgf0ooPyRICdQzLAgD7x42FJ3vYI9UA8g3wffx5kJxbRWrKUEfwZ1zJp-NQKAcyK5KGLIu9OUoFcQN4U_KdnnZqdqwwkovB0JIbqz-HKQcdi1Xrq5wKk5lIF-HdJteYn2t8Refd9soVGmN67O_V2K1b09Jw4v973C4rOxvw4WZNXHTm9a0mTI0pTk3Y5Dv1tJuN23zH73G_kNN_TSLUenE1iTGPdSnGXxIcfBG-sBoS1Au62QbzUY7lhftD6Bq6T6-6.eyJlbmRwb2ludCI6Imh0dHBzOlwvXC9hcGkuY2Rlay5ydVwvY21zIn0', |
||||||
|
), |
||||||
|
'endpoints' => |
||||||
|
array ( |
||||||
|
'wordpress' => 'https://api.cdek.ru/cms', |
||||||
|
'@cdek-it/order' => 'https://api.cdek.ru/cms', |
||||||
|
'@cdek-it/settings' => 'https://api.cdek.ru/cms', |
||||||
|
), |
||||||
|
'keyring' => |
||||||
|
array ( |
||||||
|
'k4.pid.jwGFnADDct9ZphWj1tZslqzRDXQIgEjvyVx8LI6MJR7d' => 'TDOjk4smnqY5AYE-aGdmFJIescdcJb26nThfAK3AVPU', |
||||||
|
), |
||||||
|
); |
@ -0,0 +1,65 @@ |
|||||||
|
/* Основные стили страницы */ |
||||||
|
.woocommerce-order { |
||||||
|
max-width: 800px; |
||||||
|
margin: 2rem auto; |
||||||
|
padding: 2rem; |
||||||
|
background: #fff; |
||||||
|
box-shadow: 0 0 10px rgba(0,0,0,0.1); |
||||||
|
border-radius: 8px; |
||||||
|
} |
||||||
|
|
||||||
|
/* Заголовок */ |
||||||
|
.woocommerce-order h2.woocommerce-order-details__title, |
||||||
|
.woocommerce-order h2.woocommerce-column__title { |
||||||
|
color: #333; |
||||||
|
border-bottom: 2px solid #eee; |
||||||
|
padding-bottom: 10px; |
||||||
|
} |
||||||
|
|
||||||
|
/* Детали заказа */ |
||||||
|
.woocommerce-order-overview { |
||||||
|
display: flex; |
||||||
|
flex-wrap: wrap; |
||||||
|
gap: 1rem; |
||||||
|
margin-bottom: 2rem; |
||||||
|
} |
||||||
|
|
||||||
|
.woocommerce-order-overview li { |
||||||
|
flex: 1; |
||||||
|
min-width: 200px; |
||||||
|
background: #f9f9f9; |
||||||
|
padding: 1rem; |
||||||
|
border-radius: 4px; |
||||||
|
} |
||||||
|
|
||||||
|
/* Кнопка "Вернуться в магазин" */ |
||||||
|
.woocommerce-button.button.wc-backward { |
||||||
|
background: #4CAF50; |
||||||
|
color: white; |
||||||
|
padding: 10px 20px; |
||||||
|
border-radius: 4px; |
||||||
|
text-decoration: none; |
||||||
|
display: inline-block; |
||||||
|
margin-top: 20px; |
||||||
|
} |
||||||
|
|
||||||
|
.woocommerce-button.button.wc-backward:hover { |
||||||
|
background: #3e8e41; |
||||||
|
} |
||||||
|
|
||||||
|
|
||||||
|
@media (max-width: 768px) { |
||||||
|
.woocommerce-order { |
||||||
|
padding: 1rem; |
||||||
|
margin: 1rem; |
||||||
|
} |
||||||
|
|
||||||
|
.woocommerce-order-overview li { |
||||||
|
min-width: 100%; |
||||||
|
} |
||||||
|
|
||||||
|
.woocommerce-order-details, |
||||||
|
.woocommerce-customer-details { |
||||||
|
margin-top: 1rem; |
||||||
|
} |
||||||
|
} |
@ -0,0 +1,55 @@ |
|||||||
|
jQuery(document).ready(function($) { |
||||||
|
window.onTelegramAuth = function(user) { |
||||||
|
$.ajax({ |
||||||
|
type: 'POST', |
||||||
|
url: telegram_auth_params.ajax_url, |
||||||
|
data: { |
||||||
|
action: 'ontelegramauth', |
||||||
|
userid: user.id, |
||||||
|
username: user.username || '', |
||||||
|
fname: user.first_name || '', |
||||||
|
lname: user.last_name || '', |
||||||
|
photo_url: user.photo_url || '', |
||||||
|
auth_date: user.auth_date, |
||||||
|
hash: user.hash |
||||||
|
}, |
||||||
|
success: function(response) { |
||||||
|
if (response.success) { |
||||||
|
window.location.href = telegram_auth_params.my_account_url; |
||||||
|
} else { |
||||||
|
alert(telegram_auth_params.i18n_error + ': ' + (response.data.message || 'Unknown error')); |
||||||
|
} |
||||||
|
}, |
||||||
|
error: function() { |
||||||
|
alert(telegram_auth_params.i18n_error); |
||||||
|
} |
||||||
|
}); |
||||||
|
}; |
||||||
|
|
||||||
|
window.linkTelegram = function(user) { |
||||||
|
$.ajax({ |
||||||
|
type: 'POST', |
||||||
|
url: telegram_auth_params.ajax_url, |
||||||
|
data: { |
||||||
|
action: 'linktelegram', |
||||||
|
userid: user.id, |
||||||
|
username: user.username || '', |
||||||
|
fname: user.first_name || '', |
||||||
|
lname: user.last_name || '', |
||||||
|
photo_url: user.photo_url || '', |
||||||
|
auth_date: user.auth_date, |
||||||
|
hash: user.hash |
||||||
|
}, |
||||||
|
success: function(response) { |
||||||
|
if (response.success) { |
||||||
|
$('.cabinet-accounts').html('<svg width="40px" height="40px" viewBox="0 0 256 256" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" preserveAspectRatio="xMidYMid"><g><path d="M128,0 C57.307,0 0,57.307 0,128 L0,128 C0,198.693 57.307,256 128,256 L128,256 C198.693,256 256,198.693 256,128 L256,128 C256,57.307 198.693,0 128,0 L128,0 Z" fill="#40B3E0"></path><path d="M190.2826,73.6308 L167.4206,188.8978 C167.4206,188.8978 164.2236,196.8918 155.4306,193.0548 L102.6726,152.6068 L83.4886,143.3348 L51.1946,132.4628 C51.1946,132.4628 46.2386,130.7048 45.7586,126.8678 C45.2796,123.0308 51.3546,120.9528 51.3546,120.9528 L179.7306,70.5928 C179.7306,70.5928 190.2826,65.9568 190.2826,73.6308" fill="#FFFFFF"></path><path d="M98.6178,187.6035 C98.6178,187.6035 97.0778,187.4595 95.1588,181.3835 C93.2408,175.3085 83.4888,143.3345 83.4888,143.3345 L161.0258,94.0945 C161.0258,94.0945 165.5028,91.3765 165.3428,94.0945 C165.3428,94.0945 166.1418,94.5735 163.7438,96.8115 C161.3458,99.0505 102.8328,151.6475 102.8328,151.6475" fill="#D2E5F1"></path><path d="M122.9015,168.1154 L102.0335,187.1414 C102.0335,187.1414 100.4025,188.3794 98.6175,187.6034 L102.6135,152.2624" fill="#B5CFE4"></path></g></svg>'); |
||||||
|
} else { |
||||||
|
alert(telegram_auth_params.i18n_error_link + ': ' + (response.data.message || 'Unknown error')); |
||||||
|
} |
||||||
|
}, |
||||||
|
error: function() { |
||||||
|
alert(telegram_auth_params.i18n_error_link); |
||||||
|
} |
||||||
|
}); |
||||||
|
}; |
||||||
|
}); |
Before Width: | Height: | Size: 260 B After Width: | Height: | Size: 257 B |
After Width: | Height: | Size: 1.8 KiB |
@ -0,0 +1,365 @@ |
|||||||
|
{% set bodyClass = 'main-np' %} |
||||||
|
|
||||||
|
{% extends 'layout.twig' %} |
||||||
|
|
||||||
|
{% block content %} |
||||||
|
<div class="body-wrap"> |
||||||
|
<main class="wrapper" style="padding-top: 0;"> |
||||||
|
<!-- Where home --> |
||||||
|
<section class="where-home"> |
||||||
|
<div class="container"> |
||||||
|
<h1>Where to Buy</h1> |
||||||
|
<p>Looking for Cosmopet products in stores? You can find our premium pet treats in select pet shops and retail stores across the UAE.</p> |
||||||
|
</div> |
||||||
|
</section> |
||||||
|
<!-- Where home end --> |
||||||
|
|
||||||
|
<div class="container"> |
||||||
|
<div class="locations-map-container"> |
||||||
|
<div id="map" style="width: 100%; height: 600px; border-radius: 20px; overflow: hidden;"></div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<script> |
||||||
|
// Данные локаций из PHP (через Timber) |
||||||
|
const locationData = {{ predefined_locations|json_encode|raw }}; |
||||||
|
|
||||||
|
// Данные из ACF |
||||||
|
const acfLocations = {{ acf_locations|json_encode|raw }}; |
||||||
|
|
||||||
|
// Функция инициализации карты |
||||||
|
function initMap() { |
||||||
|
console.log("Map is initializing"); |
||||||
|
|
||||||
|
// Центр карты - Дубай |
||||||
|
const dubai = { lat: 25.2048, lng: 55.2708 }; |
||||||
|
|
||||||
|
// Создание карты |
||||||
|
const map = new google.maps.Map(document.getElementById("map"), { |
||||||
|
zoom: 11, |
||||||
|
center: dubai, |
||||||
|
styles: [ |
||||||
|
{ |
||||||
|
"featureType": "water", |
||||||
|
"elementType": "geometry", |
||||||
|
"stylers": [ |
||||||
|
{ |
||||||
|
"color": "#93d5eb" |
||||||
|
} |
||||||
|
] |
||||||
|
}, |
||||||
|
{ |
||||||
|
"featureType": "landscape", |
||||||
|
"elementType": "geometry", |
||||||
|
"stylers": [ |
||||||
|
{ |
||||||
|
"color": "#f5f5f5" |
||||||
|
} |
||||||
|
] |
||||||
|
} |
||||||
|
] |
||||||
|
}); |
||||||
|
|
||||||
|
// Окно с информацией для маркеров |
||||||
|
const infoWindow = new google.maps.InfoWindow(); |
||||||
|
|
||||||
|
// Если есть данные ACF, используем их для маркеров |
||||||
|
if (acfLocations && acfLocations.length > 0) { |
||||||
|
console.log("Using ACF data:", acfLocations.length, "locations"); |
||||||
|
|
||||||
|
const geocoder = new google.maps.Geocoder(); |
||||||
|
|
||||||
|
// Создание и размещение маркеров |
||||||
|
acfLocations.forEach((location, i) => { |
||||||
|
// Проверка наличия координат |
||||||
|
if (location.latitude && location.longitude) { |
||||||
|
console.log(`Using manual coordinates for: ${location.title}`); |
||||||
|
const position = { lat: location.latitude, lng: location.longitude }; |
||||||
|
createMarker(location, position, map, infoWindow); |
||||||
|
} else { |
||||||
|
// Координаты отсутствуют, пробуем геокодирование |
||||||
|
console.log(`Geocoding address: ${location.address}`); |
||||||
|
|
||||||
|
geocoder.geocode({ address: location.address }, (results, status) => { |
||||||
|
if (status === "OK") { |
||||||
|
console.log(`Geocoding successful for: ${location.title}`); |
||||||
|
createMarker(location, results[0].geometry.location, map, infoWindow); |
||||||
|
} else { |
||||||
|
console.error(`Geocode failed for address: ${location.address}. Reason: ${status}`); |
||||||
|
|
||||||
|
// Если геокодирование не удалось, ищем совпадение в предопределенных данных |
||||||
|
const predefinedLocation = locationData.find(item => |
||||||
|
item.title.toLowerCase() === location.title.toLowerCase() || |
||||||
|
item.address.toLowerCase().includes(location.address.toLowerCase()) |
||||||
|
); |
||||||
|
|
||||||
|
if (predefinedLocation) { |
||||||
|
console.log(`Using predefined coordinates for: ${location.title}`); |
||||||
|
createMarker(location, predefinedLocation.position, map, infoWindow); |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
}); |
||||||
|
} else { |
||||||
|
// Используем предопределенные данные |
||||||
|
console.log("Using predefined data:", locationData.length, "locations"); |
||||||
|
|
||||||
|
locationData.forEach((location) => { |
||||||
|
createMarker(location, location.position, map, infoWindow); |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
// Функция создания маркера |
||||||
|
function createMarker(location, position, map, infoWindow) { |
||||||
|
// Создание маркера |
||||||
|
const marker = new google.maps.Marker({ |
||||||
|
map: map, |
||||||
|
position: position, |
||||||
|
animation: google.maps.Animation.DROP, |
||||||
|
icon: { |
||||||
|
url: 'https://maps.google.com/mapfiles/ms/icons/blue-dot.png' |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
// Обработчик клика по маркеру |
||||||
|
marker.addListener("click", () => { |
||||||
|
let content = `<div><h3>${location.title}</h3><p>${location.address}</p>`; |
||||||
|
|
||||||
|
if (location.url) { |
||||||
|
content += `<p><a href="${location.url}" target="_blank">Visit website</a></p>`; |
||||||
|
} |
||||||
|
|
||||||
|
content += `</div>`; |
||||||
|
|
||||||
|
infoWindow.setContent(content); |
||||||
|
infoWindow.open(map, marker); |
||||||
|
}); |
||||||
|
|
||||||
|
// Отключение анимации после небольшой задержки |
||||||
|
setTimeout(() => { |
||||||
|
marker.setAnimation(null); |
||||||
|
}, 750); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
// Проверка загрузки Google Maps API |
||||||
|
window.addEventListener('load', function() { |
||||||
|
if (typeof google === 'undefined' || typeof google.maps === 'undefined') { |
||||||
|
console.error('Google Maps API failed to load'); |
||||||
|
document.getElementById('map').innerHTML = '<div style="padding: 20px; text-align: center;">Map loading error. Please check your internet connection and refresh the page.</div>'; |
||||||
|
} else { |
||||||
|
console.log('Google Maps API loaded successfully'); |
||||||
|
} |
||||||
|
}); |
||||||
|
</script> |
||||||
|
|
||||||
|
<!-- Подключение Google Maps API --> |
||||||
|
<script async defer |
||||||
|
src="https://maps.googleapis.com/maps/api/js?key=AIzaSyDQVXQyGsqWmUdJ84UgKOPymFlISaKoiuw&callback=initMap&libraries=places"> |
||||||
|
</script> |
||||||
|
</div> |
||||||
|
<br><br> |
||||||
|
|
||||||
|
<!-- Find us --> |
||||||
|
<section class="find-us"> |
||||||
|
<div class="container"> |
||||||
|
<h2>📍 Find us at:</h2> |
||||||
|
<ul> |
||||||
|
{% for item in acf_locations %} |
||||||
|
<li> |
||||||
|
<h3> |
||||||
|
{% if item.url %} |
||||||
|
<a href="{{ item.url }}">{{ item.title }}</a> |
||||||
|
{% else %} |
||||||
|
{{ item.title }} |
||||||
|
{% endif %} |
||||||
|
</h3> |
||||||
|
<p>{{ item.address }}</p> |
||||||
|
</li> |
||||||
|
{% endfor %} |
||||||
|
</ul> |
||||||
|
</div> |
||||||
|
</section> |
||||||
|
<!-- Find us end --> |
||||||
|
|
||||||
|
<style> |
||||||
|
.sell-form-form:not(.submited) + .thx-text { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
.sell-form-form.submited { |
||||||
|
display: none; |
||||||
|
} |
||||||
|
</style> |
||||||
|
|
||||||
|
<div class="container"> |
||||||
|
{% if partners_logos %} |
||||||
|
<!-- Бегущая строка (слайдер) --> |
||||||
|
<div class="partners-slider-section"> |
||||||
|
<h3 style="font-size: 36px;">Our partners</h3> |
||||||
|
<div class="partners-swiper swiper"> |
||||||
|
<div class="swiper-wrapper"> |
||||||
|
{% for i in 1..5 %} |
||||||
|
{% for image in partners_logos %} |
||||||
|
<div class="swiper-slide"> |
||||||
|
<a href="{{ image.url }}" target="_blank"> |
||||||
|
<img src="{{ image.src }}" alt="{{ image.alt }}"> |
||||||
|
</a> |
||||||
|
</div> |
||||||
|
{% endfor %} |
||||||
|
{% endfor %} |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
|
||||||
|
<script> |
||||||
|
document.addEventListener('DOMContentLoaded', function() { |
||||||
|
const swiper = new Swiper('.partners-swiper', { |
||||||
|
slidesPerView: 'auto', |
||||||
|
spaceBetween: 30, |
||||||
|
loop: true, |
||||||
|
loopedSlides: 999, |
||||||
|
loopAdditionalSlides: 999, |
||||||
|
centeredSlides: false, |
||||||
|
autoplay: { |
||||||
|
delay: 1, |
||||||
|
disableOnInteraction: false, |
||||||
|
}, |
||||||
|
speed: 8000, |
||||||
|
allowTouchMove: false, |
||||||
|
freeMode: false, |
||||||
|
cssMode: false, |
||||||
|
watchSlidesProgress: true, |
||||||
|
simulateTouch: false, |
||||||
|
observer: true, |
||||||
|
observeParents: true, |
||||||
|
resistanceRatio: 0, |
||||||
|
breakpoints: { |
||||||
|
320: { |
||||||
|
slidesPerView: 2, |
||||||
|
}, |
||||||
|
768: { |
||||||
|
slidesPerView: 4, |
||||||
|
}, |
||||||
|
1024: { |
||||||
|
slidesPerView: 5, |
||||||
|
} |
||||||
|
} |
||||||
|
}); |
||||||
|
|
||||||
|
swiper.el.addEventListener('touchend', function() { |
||||||
|
if (!swiper.autoplay.running) { |
||||||
|
swiper.autoplay.start(); |
||||||
|
} |
||||||
|
}); |
||||||
|
}); |
||||||
|
</script> |
||||||
|
|
||||||
|
<style> |
||||||
|
/* Стили для слайдера */ |
||||||
|
.partners-slider-section, |
||||||
|
.partners-grid-section { |
||||||
|
margin: 50px 0; |
||||||
|
} |
||||||
|
.partners-slider-section { |
||||||
|
overflow: hidden; |
||||||
|
} |
||||||
|
.partners-swiper { |
||||||
|
width: 100%; |
||||||
|
padding: 20px 0; |
||||||
|
} |
||||||
|
.swiper-slide { |
||||||
|
text-align: center; |
||||||
|
height: auto; |
||||||
|
width: auto !important; |
||||||
|
} |
||||||
|
.swiper-slide img { |
||||||
|
max-height: 60px; |
||||||
|
width: auto; |
||||||
|
filter: grayscale(100%); |
||||||
|
transition: filter 0.3s; |
||||||
|
object-fit: contain; |
||||||
|
} |
||||||
|
.swiper-slide img:hover { |
||||||
|
filter: grayscale(0%); |
||||||
|
} |
||||||
|
.swiper-wrapper { |
||||||
|
position: relative; |
||||||
|
width: 100%; |
||||||
|
height: 100px; |
||||||
|
z-index: 1; |
||||||
|
display: flex; |
||||||
|
box-sizing: content-box; |
||||||
|
transition-timing-function: linear !important; |
||||||
|
} |
||||||
|
.partners-grid { |
||||||
|
display: grid; |
||||||
|
grid-template-columns: repeat(4, 1fr); |
||||||
|
gap: 20px; |
||||||
|
} |
||||||
|
.grid-item { |
||||||
|
display: flex; |
||||||
|
align-items: center; |
||||||
|
justify-content: center; |
||||||
|
padding: 20px; |
||||||
|
border-radius: 24px; |
||||||
|
transition: 0.3s; |
||||||
|
} |
||||||
|
.grid-item:hover { |
||||||
|
box-shadow: 0 10px 20px rgba(0,0,0,0.1); |
||||||
|
} |
||||||
|
.grid-item img { |
||||||
|
max-height: 60px; |
||||||
|
max-width: 100%; |
||||||
|
filter: grayscale(100%); |
||||||
|
transition: filter 0.3s; |
||||||
|
} |
||||||
|
.grid-item img:hover { |
||||||
|
filter: grayscale(0%); |
||||||
|
} |
||||||
|
h3 { |
||||||
|
font-size: 26px; |
||||||
|
color: #fff; |
||||||
|
text-transform: uppercase; |
||||||
|
font-weight: bold; |
||||||
|
} |
||||||
|
@media (max-width: 768px) { |
||||||
|
.partners-grid { |
||||||
|
grid-template-columns: repeat(2, 1fr); |
||||||
|
} |
||||||
|
.grid-item { |
||||||
|
width: 80%; |
||||||
|
margin: 0 auto; |
||||||
|
} |
||||||
|
} |
||||||
|
@media (max-width: 480px) { |
||||||
|
.partners-grid { |
||||||
|
grid-template-columns: 1fr; |
||||||
|
} |
||||||
|
} |
||||||
|
</style> |
||||||
|
{% endif %} |
||||||
|
</div> |
||||||
|
|
||||||
|
<!-- Sell form --> |
||||||
|
<section class="sell-form"> |
||||||
|
<div class="container sell-form__container"> |
||||||
|
<h2>Want to sell Cosmopet in your store?</h2> |
||||||
|
<p>Join our growing network of retailers! Fill out the contact form below, and we’ll get in touch to discuss the details.</p> |
||||||
|
<form action="" class="form--contact sell-form-form"> |
||||||
|
<input type="hidden" name="action" value="message"> |
||||||
|
<input type="text" placeholder="Your Name" name="name" class="form-inp"> |
||||||
|
<input type="tel" placeholder="Your Phone" name="phone" class="form-inp"> |
||||||
|
<input type="email" placeholder="E-mail" name="email" class="form-inp"> |
||||||
|
<textarea placeholder="Message" class="form-textarea" name="msg"></textarea> |
||||||
|
<button type="submit">SUBMIT</button> |
||||||
|
</form> |
||||||
|
<div class="thx-text"> |
||||||
|
<h2>Thanks for request!</h2> |
||||||
|
<p>We will answer your message as soon as possible</p> |
||||||
|
</div> |
||||||
|
</div> |
||||||
|
</section> |
||||||
|
<!-- Sell form end --> |
||||||
|
</main> |
||||||
|
</div> |
||||||
|
{% endblock %} |
Loading…
Reference in new issue