Comment on page

Настройки макета

Для дальнейших действий нужны минимальные знания работы с макетами, XSL-шаблонами (далее - XSL), типовыми динамическими страницами (далее - ТДС) в HostCMS. Работу должен выполнять Ваш программист или администратор сайта.
В главном макете Вашего сайта укажите функцию MegaPost_GeoIp::getCountryLocationCity() (php код перед <head>) и css стили/js скрипты для работы модуля (обычно в пределах тега <head></head>)
MegaPost_GeoIp::getCountryLocationCity() - для автоопределение города посетителя и записи в сессию (можно не указывать)
php Core_Page
html inline
1
<?php
2
// GeoIP определяет текущий город и сохраняет в $_SESSION['ASMP_City']
3
MegaPost_GeoIp::getCountryLocationCity();
4
?>
5
<head>
6
<!-- ... ваш код title и тд -->
7
<?php
8
Core_Page::instance()
9
/* ... тут ваши css ... */
10
->css('/hostcmsfiles/megapost/css/megapostXXXX.css')
11
->showCss();
12
?>
13
<script type="text/javascript">var apikeymap = 'APIKEY_YMAP';</script>
14
<?php
15
Core_Page::instance()
16
/* ... тут ваши js ... */
17
/* все js megapost должны быть подключены после jQuery */
18
->js('/hostcmsfiles/megapost/js/megapost.min.js')
19
->js('/hostcmsfiles/megapost/js/mp.autocomplete.js')
20
->js('/hostcmsfiles/megapost/js/megapost-scriptXXXX.js')
21
->showJs();
22
?>
23
</head>
1
<?php
2
// GeoIP определяет текущий город и сохраняет в $_SESSION['ASMP_City']
3
MegaPost_GeoIp::getCountryLocationCity();
4
?>
5
<head>
6
<!-- тут ваш код, css и js -->
7
<link rel="stylesheet" type="text/css" href="/hostcmsfiles/megapost/css/megapost9999.css" />
8
9
<script type="text/javascript">var apikeymap = 'APIKEY_YMAP';</script>
10
11
<!-- все js megapost должны быть подключены после jQuery -->
12
<script src="/hostcmsfiles/megapost/js/mp.autocomplete.min.js"></script>
13
<script src="/hostcmsfiles/megapost/js/megapost.min.js"></script>
14
<script src="/hostcmsfiles/megapost/js/megapost-script9999.js"></script>
15
</head>
Готовый пример можно увидеть в демо макете созданном после установки модуля
в css и js файлах XXXX - Ваш уникальный номер файла при установке, посмотреть можно в папке /hostcmsfiles/megapost/*/, т.к. все файлы без уникального номера при обновлении будут заменяться на новые
APIKEY_YMAP - ваш API ключ Яндекс Карт

Настройки в JS / megapost-scriptXXXX.js

1
callback: '/megapost/callback/' // путь callback командера для ajax MegaPost_Command_Controller
2
jMForm: '[data-megapost=true]' // селектор формы для инициалзиации MegaPost
3
mblock: '#mpDelivery' // селектор блока инициализации карты
4
cartOneStep: '[data-cartOneStep=true]' // селектор блока корзины
5
addressOneStep: '[data-addressOneStep=true]' // селектор блока контактных данных и адреса
6
deliveryOneStep: '[data-deliveryOneStep=true]' // селектор блока доставки
7
paymentSystemOneStep: '[data-paymentSystemOneStep=true]' // селектор блока оплаты
8
cityNameDiv: '.shop_country_location_city_div' // селектор блока города
9
inputCityName: 'input#shop_country_location_city_name' // селектор поля ввода города для подключени autocomplete
10
boxLoaderDelivery: '.boxLoaderDelivery' // селектор блока расчета доставок в карточке товара
11
boxLoaderPVZDelivery: '.boxLoaderPVZDelivery' // селектор блока расчета доставок с картой на отдельной странице
12
otherCityNameDiv: '.other_city_name_div' // селектор блока произвольного ввода города
13
otherCityTxt: '<span class="other_city">Ввести другой город (если в списке нет нужного)</span>' // селектор блока корзины
14
otherCity: true // показывать пункт "Ввести другой город", true - да, false - нет
15
svgLoader: '<svg class="loader" xmlns="http://www.w3.org/2000/svg" height="10" viewBox="0 0 100 20" fill="currentColor"><g transform="translate(20 10)"><circle r="6"><animateTransform attributeName="transform" begin="-0.375s" calcMode="spline" dur="1s" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" keyTimes="0;0.5;1" repeatCount="indefinite" type="scale" values="0;1;0"/></circle></g><g transform="translate(40 10)"><circle r="6"><animateTransform attributeName="transform" begin="-0.25s" calcMode="spline" dur="1s" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" keyTimes="0;0.5;1" repeatCount="indefinite" type="scale" values="0;1;0"/></circle></g><g transform="translate(60 10)"><circle r="6"><animateTransform attributeName="transform" begin="-0.125s" calcMode="spline" dur="1s" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" keyTimes="0;0.5;1" repeatCount="indefinite" type="scale" values="0;1;0"/></circle></g><g transform="translate(80 10)"><circle r="6"><animateTransform attributeName="transform" begin="0s" calcMode="spline" dur="1s" keySplines="0.3 0 0.7 1;0.3 0 0.7 1" keyTimes="0;0.5;1" repeatCount="indefinite" type="scale" values="0;1;0"/></circle></g></svg>' // иконка прелоадера расчета доставок
16
// БЛОК ЦЕН
17
getTotalAmount: '[data-gettotalamount]' // сеелктора блока откуда берем стоимости товаров без скидки
18
getDiscountAmount: '[data-getdiscountamount]' // сеелктора блока блок откуда берем скидки
19
setTotalAmount: '[data-settotalamount]' // сеелктора блока куда вставлять сумму товаров без скидки
20
setDiscountAmount: '[data-setdiscountamount]' // сеелктора блока блок куда вставлять сумму скидки
21
setDeliveryAmount: '[data-setdeliveryamount]' // сеелктора блока куда вставлять сумму доставки
22
setDeliveryCashAmount: '[data-setdeliverycashamount]' // сеелктора блока куда вставлять сумму наложки
23
setTotalSum: '[data-settotalsum]' // сеелктора блока куда вставлять итоговую сумму заказа с учетом скидки и доставки