The ms_geolocation module is based on the independent SypexGeo service. The module replaces the standard CS-Cart geolocation and works more accurately than analogs from Yandex and Google. The module determines the customer's city by IP address and allows manual city selection.
Main features
City detection by IP: Automatic detection of customer city by IP address via SypexGeo.
City selection: Ability for the customer to manually select a city.
Integration with city modules: Works with cities or rus_cities modules for city management.
Geolocation blocks: Ready-made blocks for displaying city selection and city information.
Popup window: Configurable popup for city selection.
Additional city information: Ability to add additional information about the city (phrase, link).
How the module works
The module uses the following mechanisms:
Database: On installation, the module runs migrations to create the necessary data structures.
City functions: fn_ms_geolocation_get_cities_tables() determines the city tables to use based on installed modules. If cities is active, it uses cities and city_descriptions. If rus_cities is active — rus_cities and rus_city_descriptions.
SypexGeo API: Integration with SypexGeo API for city detection by IP. Uses API key for service access.
Controllers: geo_cities.php — handles city selection on frontend; cities.post.php — city management in admin; ms_geolocation.php — module settings.
Blocks: Registers cities (city selection) and city_phrase (city information) blocks.
Where to find functionality
Administration panel: Module settings with SypexGeo API key; city management (if cities or rus_cities is installed).
Storefront: City selection and city information blocks; city selection popup (if not hidden); automatic city detection on first visit.
Module settings
API Key (apikey): API key for SypexGeo service access.
Number of requests (count_requests): Number of requests for city detection (default 3).
Hide popup (hide_popup): Hide the city selection popup.
- Store Builder
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- Buyers
- Owners
- English
- Русский
- 4.19.X
- 4.18.X
Installation
1. Ensure the module is activated in Administration → Add-ons → Manage add-ons.
2. The module is automatically installed in Multivendor and Ultimate editions of CS-Cart.
3. On installation, the module runs migrations to create the necessary data structures.
Configuration
1. Get SypexGeo API key: Register at SypexGeo (https://sypexgeo.net/), obtain an API key.
2. Module settings: Go to Administration → Add-ons → Manage add-ons → MS: Geolocation from SypexGeo. Enter the API key in the «API Key» field. Set the number of requests (default 3). Enable «Hide popup» if needed. Save changes.
3. Check API key status: The module settings display the API key status. Ensure the key is active.
Usage for administrator
1. Adding blocks: Go to Administration → Design → Block manager. Add the «MS: Customer location» block (cities) for city selection. Add the «MS: City info» block (city_phrase) for displaying city information.
2. City management (if cities or rus_cities module is installed): Go to Administration → MS: Geolocation from SypexGeo. Cities. Manage the city list, configure additional information (phrase, link).
Usage for customer
1. Automatic detection: On first visit, the module detects the city by IP. A popup may appear for confirmation.
2. Manual city selection: Find the city selection block, click to open the list, select a city. The city is saved in the session.
3. Viewing information: The page displays information about the selected city (configured by administrator).
Verification
1. Open the site from a new IP — verify automatic city detection.
2. Select a city manually — ensure saving works.
3. Check block display on site pages.
Troubleshooting
City not detected: Check the API key and its status.
Popup not showing: Check the «Hide popup» setting.
Blocks not working: Ensure blocks are added via the block manager and the module is activated.
v1.2.0
from 21.02.2026
- [\*] Module template updated
v3.1.0
from 23.12.2025
- [+] Number of remaining requests
- [!] City search was performed by internal character match, fixed
- [-] Removed redundant city addition functionality from module, all works through third-party "Cities" module
- [!] Fixed close button icon in popup
- [+] Added API methods for working with cities
- [+] Added ability to get city from customer profile or Checkout -> Default customer location setting in API
- [+] Module refactoring
- [+] Compatibility with new cities module on CS-Cart > v4.19.0
v3.0.0
from 30.01.2025
- [\*] Updated block names and descriptions, as well as logos
- [+] Module refactoring
v2.1.0
from 15.05.2024
- [+] Module code standardization by template
- [+] Module text files standardization
- [\*] Changed short tags <? to regular <?php
v2.0.0
from 15.05.2023
- [\*] Licensing
Legend:
[+] Added | [-] Removed | [\*] Changed | [!] Bug fix