Настройка макета
Для дальнейших действий нужны минимальные знания работы с макетами, XSL-шаблонами (далее - XSL), типовыми динамическими страницами (далее - ТДС) в HostCMS. Работу должен выполнять Ваш программист или администратор сайта.

Вывод выбора региона/города для посетителей сайта

В главном макете Вашего сайта укажите функцию MultiRegion_GeoIp::getCountryLocationCity() (php код перед <head>) и css стили/js скрипты для работы модуля (обычно в пределах тега <head></head>)
MultiRegion_GeoIp::getCountryLocationCity() - для автоопределение города посетителя и записи в сессию (можно не указывать)
php Core_Page
html inline
<?php
// GeoIP определяет текущий город и сохраняет в $_SESSION['ASMP_City']
MultiRegion_GeoIp::getCountryLocationCity();
?>
<head>
<!-- ... ваш код title и тд -->
<?php
Core_Page::instance()
/* ... тут ваши css ... */
->css('/hostcmsfiles/multiregion/css/style9999.css')
->showCss();
?>
<?php
Core_Page::instance()
/* ... тут ваши js ... */
/* все js multiregion должны быть подключены после jQuery */
/**
* !!!Раскомментировать один из двух скриптов подсказок городов
* jquery-ui.min.js (с Widget Autocomplete) или jquery.autocomplete.min.js,
* если не один из них не был подключен ранее.
* Рекомендуем jquery.autocomplete.min.js
*/
//->js('/hostcmsfiles/multiregion/js/jquery.autocomplete.min.js')
//->js('/hostcmsfiles/multiregion/js/jquery-ui.min.js')
->js('/hostcmsfiles/multiregion/js/script9999.js')
->showJs();
?>
</head>
<?php
// GeoIP определяет текущий город и сохраняет в $_SESSION['ASMP_City']
MultiRegion_GeoIp::getCountryLocationCity();
?>
<head>
<!-- тут ваш код, css и js -->
<link rel="stylesheet" type="text/css" href="/hostcmsfiles/multiregion/css/style9999.css" />
<!-- все js multiregion должны быть подключены после jQuery -->
<!--
* !!!Раскомментировать один из двух скриптов подсказок городов
* jquery-ui.min.js (с Widget Autocomplete) или jquery.autocomplete.min.js,
* если не один из них не был подключен ранее.
* Рекомендуем jquery.autocomplete.min.js!
-->
<!--script src="/hostcmsfiles/multiregion/js/jquery-ui.min.js"></script-->
<!--script src="/hostcmsfiles/multiregion/js/jquery.autocomplete.min.js"></script-->
<script src="/hostcmsfiles/multiregion/js/script9999.js"></script>
</head>
Готовый пример можно увидеть в демо макете созданном после установки модуля
в css и js файлах 9999 - Ваш уникальный номер файла при установке, посмотреть можно в папке /hostcmsfiles/multiregion/*/, т.к. все файлы без уникального номера при обновлении будут заменяться на новые
В главном макете Ваше сайта, в том месте где хотите вывести выбор города/региона вставьте код (например в шапке сайта)
<?php
// Показ и выбор города
$MultiRegion_Controller_Show = new MultiRegion_Controller_Show(
Core_Entity::factory('Site', CURRENT_SITE)
);
$MultiRegion_Controller_Show
->xsl(Core_Entity::factory('Xsl')->getByName('Мультирегиональность'))
->show();
?>
  • favoriteCities — устанавливает массив идентификаторов городов фаворитов для показа
  • regionsMode — режим показа регионов, может принимать следующие значения:
    • none - не показывать регионы (по умолчанию)
    • current - текущий регион
    • all - все регионы
  • directory — (TRUE|FALSE) режим показа данных региона (телефоны, email, адреса), по умолчанию FALSE
*при установке XSL шаблоны идут с датой текущей установки в названии, например: Мультирегиональность [05.06.2020 13:00:24]
Copy link