• New
Distributor Map Pro — map and store locator for PrestaShop
Distributor Map Pro — map and store locator for PrestaShop
Distributor Map Pro — map and store locator for PrestaShop
Distributor Map Pro — map and store locator for PrestaShop
Distributor Map Pro — map and store locator for PrestaShop
Distributor Map Pro — map and store locator for PrestaShop
Distributor Map Pro — map and store locator for PrestaShop
Distributor Map Pro — map and store locator for PrestaShop

Distributor Map Pro — map and store locator for PrestaShop

Module version: 2.2.0

PrestaShop compatibility: 1.7.x 8.x 9.x

Module file updated: 09/10/2026 17:45:22

Product data updated: 09/10/2026 17:45:24


Distributor Map Pro is a PrestaShop module for presenting distributors, showrooms, pickup points, and service centers in a single directory. It combines a list of contact details with an optional location map. The customer can search by company name, address, city, or postal code and narrow down the results by country, point type, and offered service. After sharing their browser location, they can also find points within a selected radius and see distances. To display the map, you can choose OpenFreeMap with OpenStreetMap data without an API key, Google Maps with your own key, or list-only mode. You manage the points in the store panel, manually or via CSV import with a preview of changes before confirmation. The directory has a separate page, can also be displayed on the homepage, and respects point assignments to stores in multistore.

zł 87.00
zł 70.73no tax
Price history:

Description

What does the store customer gain?

  • One place to find a location: the customer browses addresses and contact details without having to search for them across many separate materials.
  • Searching for specific locations: they can enter a city, postal code, street, or company name and combine the phrase with filters for country, location type, and service.
  • Nearby search: after granting location access, they choose a radius from 1 to 500 kilometers or miles, and the results are sorted from the nearest location.
  • Contact with the selected location: correctly completed phone numbers and email address become links for calling or sending a message; a separate link leads to the location’s website.
  • Information before the visit: the location card may display the logo, type, services, an additional note, and expandable opening hours for individual days of the week.
  • Access to directions: the “Directions” link opens external Google Maps with the location or address of the point, also when using the OpenFreeMap map.

OpenStreetMap map, Google Maps, or just the list

OpenFreeMap — map without a Google key

The module uses the public OpenFreeMap service and OpenStreetMap data, while the MapLibre library is included locally. Displaying this map does not require an account or API key. OpenFreeMap provides a public service with no display fees; however, it is an external service, not infrastructure maintained by the module. The current terms are described by the OpenFreeMap provider.

Google Maps — option with your own key

If you choose Google Maps, you provide a browser key for the Maps JavaScript API. An optional map ID allows the use of Google advanced markers. Project configuration and any fees remain the responsibility of the Google account owner; the module does not manage billing. The requirements are described in the Google Maps configuration documentation.

List independent of map display

The map loads only after clicking “Show map”. Markers correspond to locations from the current results page — up to 20 — and update after a search or page change. Clicking a marker shows the name, address, and directions link, and the map view adjusts to the displayed locations. You can disable the map and leave the directory with the search engine; the basic list, filters, and pagination also work without JavaScript.

An address does not replace coordinates. A location without latitude and longitude may be visible in the list, but it will not receive a marker and will not appear in radius search results. You enter coordinates manually, import them from CSV, or fill them in on demand in the location form using a separate Google Geocoding API key. Free map display does not mean built-in free geocoding.

Managing locations in the PrestaShop panel

  • Adding and editing locations: the form includes the company name, country, street, city, postal code, contact details, website, note, hours, and coordinates.
  • Publication control: a location can be activated or hidden without deleting its data. The admin list can be filtered and sorted; record deletion is also available.
  • Custom types and services: you will create classifications suitable for your network, for example showroom, pickup point, consulting, or installation. A location may have one optional type and multiple services.
  • Multilingual classification names: type and service names can be provided in the store languages. If a translation is missing, the name from the default language is used; the descriptive data of the location itself does not have separate language versions.
  • Location logos: the form accepts PNG, JPEG, and WebP up to 2 MiB, provided the server supports the given format. The image is processed and saved as PNG; it can later be replaced or removed.
  • Clear panel structure: a shared header with configuration status information leads to settings, the distributor list, types and services, and CSV import and export.
  • Separate visibility settings: enabling the directory and its presence on the homepage have separate switches, and the form contains Polish hints and instructions for launching without Google.

CSV import and export with change control

Import supports UTF-8 CSV files up to 2 MiB in size and containing up to 1000 data rows. You can choose semicolon, comma, or tab as the separator. In the panel, you can download an empty template or a sample file, and existing locations are matched by the fixed external_id identifier, not by company name or address.

  1. Load the file: the module will check supported headers, field values, identifiers, country codes, and type and service assignments.
  2. Review the preview: you will see records to be created and updated, unchanged items, errors, and a comparison of values before and after the change. The preview does not save changes to locations.
  3. Approve valid data: even a single error blocks the file import. A valid preview can be approved within 30 minutes, in the same store and by the same employee. Data changes since the preview may require reloading the file.

During an update, an omitted column keeps its current value, and an empty cell may clear an optional field. Records not present in the CSV are not deleted. Saving locations and relations takes place in a transaction; a save error rolls back its changes. Types and services must be created in the panel beforehand — the import refers to their codes.

Export from the CSV tab includes active and inactive locations of the current store, contact fields, hours, coordinates, and classification codes. The same limits apply: 1000 locations and 2 MiB. The format includes protection of cells against interpretation as spreadsheet formulas and can be loaded back into the module. It is not a full module backup: it does not include logo files, settings, dictionary translations, or store assignments.

Multistore — locations assigned to selected stores

Locations, types, and services have explicit store assignments. A new location belongs by default only to the currently selected store; in the form, it can also be assigned to other available stores with the module installed. The front-end list, map, search results, and export take the current store into account. Enabling the directory, the homepage block, the map provider, and API keys are configured per store.

Sharing a location does not create independent copies. The name, address, contacts, logo, activity status, and classification of the same record are shared across the assigned stores. Saving requires selecting a single store, and editing a shared location requires access to all its stores. New locations from CSV go to the current store, while an update preserves existing assignments.

Directory presentation and technical SEO elements

  • Separate directory page: the module provides a link that can be used in the store menu. The optional homepage block requires the theme to display the displayHome hook.
  • Layout adapted to smaller screens: the form and list have responsive rules, and opening hours can be expanded in the location card.
  • Results without reloading the entire page: when JavaScript support is available, search and pagination update the list and markers via AJAX.
  • Directory content rendered server-side: addresses and contacts are present in the list HTML, not only in map pop-ups.
  • Directory page metadata: the controller provides the title, description, breadcrumb navigation, and canonical URL of the directory. Filtered results and subsequent pages receive the noindex,follow directive.

The module does not create separate location subpages or LocalBusiness structured data. The mechanisms described are not a guarantee of rankings in Google or presence in AI answers.

How to launch the directory without Google keys?

  1. In multistore, select the store for which you want to configure the directory.
  2. Enable the directory and choose OpenFreeMap / OpenStreetMap as the map provider.
  3. Add active locations with real addresses and both coordinates; if needed, assign your own types and services.
  4. Open the directory from the panel and use the “Show map” button. Optionally enable the homepage block.

Important distinctions before implementation

Distributor Map Pro is an informational directory. It does not add location selection to the cart or order, does not link locations with products or their stock levels, and does not handle reservations. Hours are entered as text — without automatic “open now” status. Distance in the results is calculated as the crow flies, not according to the road route.

Geolocation requires user consent and a secure browser context, usually HTTPS. The interactive OpenFreeMap map requires WebGL2 support and a connection to the provider’s service. Loading the map causes the browser to contact the map provider; the button that launches it is not an integration with a consent management system. The directory itself remains available without

Product Details

Prestashop 9.x support
Yes
Support for Prestashop 8.x
Yes
Prestashop 1.7.x support
Yes
Module translations
EN, ENG
Free support
Yes
Free updates (1 year)
Yes
Easy Installation
Yes
Requires engine modification
No
PDDISMAPPRO

FAQ

Find answers to the most common questions about this product.

The Pro Distributor Map creates a public directory of distributors, showrooms, pickup points, or service centres in PrestaShop. It displays a list of locations with contact details and an optional map. The customer can search for points, use filters, and proceed to contact or directions. Point data is entered by the administrator; the module does not automatically retrieve companies from the internet.

Available options include OpenFreeMap with OpenStreetMap data, Google Maps, and a no-map mode with just the list. OpenFreeMap is displayed via the MapLibre library included with the module. Google Maps requires your own browser API key. You select the provider separately in the settings of the given store. The module does not automatically switch from OpenFreeMap to Google in the event of a failure.

Displaying the OpenFreeMap map does not require an account, an API key, or a Google key. The module uses the public OpenFreeMap service and OpenStreetMap data. The free map does not include automatic determination of address coordinates: they must be entered, imported, or separate Google geocoding must be used. Map availability depends on the external provider; the module does not guarantee the continuity of its service.

No. You can display points on the OpenFreeMap map or use only the list and search engine. With manually entered coordinates, these functions do not require Google keys. Regardless of the selected provider, the “Directions” link still leads to external Google Maps. Simply displaying this link does not launch the Google map.

The map loads only after clicking the “Show map” button, not upon entering the catalogue page itself. It displays points from the current results page that have both coordinates — a maximum of 20. After searching or changing the page, the markers are also updated. This is not a view of all points from the entire catalogue at once.

The marker requires valid latitude and longitude. The postal address alone is not sufficient. Both coordinates can either be provided or both left blank; a value of zero is a valid coordinate. A point without coordinates remains in the regular list results, but is omitted on the map and during radius search. Also check the filters and the current results page.

The map displays points based on the saved coordinates. Geocoding converts a street address into those coordinates. The module offers on-demand Google geocoding in the point form, using a separate Google Geocoding API server key. The call is made on save with the geocoding option enabled and both coordinates empty. Correct manual coordinates take precedence. There is no built-in OpenStreetMap or Nominatim geocoding.

Google Maps uses a browser key for the Maps JavaScript API; geocoding in the panel uses a separate server key for the Geocoding API. The Google Map ID is optional and does not replace the key. The browser key should be restricted to the store domains, and the server key to the server IP address and the appropriate service. You configure the Google project and its billing outside the module. Google services may involve charges.

No. After saving the server key, the form does not display its value. Leaving the field empty preserves the existing key, and entering a new one replaces it when saved. A separate switch is used for deletion. Deleting the geocoding key does not remove points or their coordinates and does not disable the OpenFreeMap map.

The search engine checks the company name, address, city, and postal code. The phrase can be combined with the selection of a country, one point type, and one service. The filters narrow down the common set of results. Entering a city or postal code is a text search within the point data, not an automatic determination of the location from which the radius will be calculated.

When using the location button, the browser asks the user for permission and passes the coordinates to the store search engine. The customer selects a radius from 1 to 500 and the unit: kilometres or miles. The module includes points with valid coordinates within that radius and sorts them from the nearest. Geolocation requires a browser that supports it and a secure context, usually HTTPS. If permission is denied, text search can still be used.

No. The distance is calculated based on coordinates as the geographical straight-line distance, without taking road routes into account. The module does not calculate travel time or traffic intensity. External directions are provided via the “Route directions” link, which opens Google Maps.

Yes. The basic list is rendered server-side, and the search form, filters, and pagination links work without JavaScript. JavaScript adds result updates without reloading the entire page, browser geolocation support, and an interactive map. Disabling the map or the absence of a Google key does not block the directory itself.

The module provides a separate catalog page, and a link to it is available in the configuration. This address can be used in the store menu. An additional switch allows the catalog to be displayed also on the homepage, if the theme displays the displayHome hook. The module does not automatically add a separate entry to each menu module used by the store.

The entry includes the company name, country, address, city, and optionally the postal code. You can also fill in the email, phone, mobile phone, fax, website, additional note, hours for the seven days of the week, logo, and coordinates. Activity status, type, services, and shop assignments are also available. The note is plain text up to 300 characters; it does not accept HTML.

No. Opening hours are text fields for the days from Monday to Sunday and are displayed in the location’s expandable section. The module does not interpret them as a schedule: it does not calculate the “open now” status, does not manage holiday exceptions, and does not support appointment booking.

The point form supports PNG, JPEG and WebP up to 2 MiB. Processing depends on the server's support for the format; WebP requires the appropriate graphics library function. The image is checked, reduced if necessary, and saved as PNG without transferring the source metadata. The logo can be replaced or removed. CSV import does not upload logo files.

Yes. In the panel, you define your own types and services, assigning them names and fixed codes used in CSV. A point may have one type or no type, as well as any number of defined services. The names of active classifications are visible next to points and in filters. The code and type of classification do not change after creation. An item used by points cannot be deleted without first removing the assignments.

The names of point types and services are multilingual. If there is no name in the customer's language, the module uses the name in the default language. The interface has Polish translations and English source texts. The company name, address, note, and text opening hours of a given point do not have separate fields for each language, so they should not be treated as multilingual location descriptions.

Yes. Points, types and services are assigned to selected shops with the module installed. A new record belongs by default only to the current shop. The public list, map, search and export respect this scope. The catalogue activation, homepage block, map provider and keys are configured separately for each shop. Installing the module in another shop does not automatically assign existing points to it.

Not within the same record. A location assigned to several stores has shared contact details, address, logo, activity status, type, and services. Editing affects all assigned stores. If you need independent data, create separate records with different external identifiers and the appropriate assignments. Editing a shared location requires the employee to have access to all of its stores.

Saving in the module requires the context of a single store. In the context of all stores or a group, the administrative lists are used to browse data within the limits of the employee's permissions. When editing, the current store cannot be unchecked. Types and services must cover all stores of the point. Before deleting a shared record, you must first deliberately detach its remaining stores.

First, you load the file and check the preview: new points, updates, unchanged records, errors, and differences in values before and after the change. The preview itself does not modify the points. Only approving a correct preview saves the data and service assignments. If even one row contains an error, the file cannot be approved. The save uses a transaction, so a save error rolls back its changes.

The file must have a CSV extension, UTF-8 encoding, supported headers, and the separator selected in the panel: semicolon, comma, or tab. The limit is 2 MiB and 1000 logical data rows. Each file requires external_id. A new point also requires company, address, city, and a valid country_iso, for example PL. The panel allows you to download an empty template and a sample file. This is not an importer for XLSX, XML, or JSON files.

The importer matches the record by the exact external_id value, with case sensitivity. An existing identifier allows the point to be updated, while a new identifier means a new record, even if the name and address are the same. Repeating an identifier within a single CSV is an error. When adding manually, you can leave the identifier empty for the module to generate it. Changing the identifier of an existing point breaks the matching of older files.

An omitted column leaves the current value of the updated point unchanged. An empty cell in the current column may remove an optional value, but it cannot clear a required field. An empty type_code removes the type, and an empty service_codes removes the services. Both coordinates must be provided or cleared together. Points that are not in the file are neither removed nor automatically disabled.

First, create the types and services in the panel. In the CSV, provide their existing codes: one in type_code, and multiple services separated by a vertical bar in service_codes. An unknown or duplicated service code is an error. New points are assigned only to the current shop; an update preserves the existing assignments. The CSV is not used to change shop assignments or to take over identifiers belonging exclusively to other shops.

A valid preview remains valid for 30 minutes and belongs to a specific employee and store. A newer valid preview for this employee in this store replaces the previous one, and a successful import consumes the preview on a one-time basis. Changes to points, classifications, assignments, or permissions between the preview and approval may block saving. In such a case, the file must be reloaded and the current differences reviewed.

The export from the CSV tab includes active and inactive locations of the current shop, contact details, opening hours, coordinates, and type and service codes. It has a limit of 1,000 locations and 2 MiB; once exceeded, the operation is rejected instead of truncating the data. It does not include logo files, configuration, dictionary translations, or shop associations, so it is not a full backup. A separate export of the administrative list columns is not a format for full location import.

A full module export adds the _pd_format marker and an apostrophe before data cells so that they are not interpreted as spreadsheet formulas. The importer recognises this marked format and removes exactly one added prefix. Do not add the marker manually to a regular CSV. Resaving in Excel or LibreOffice may change the content, so the preview must be checked before confirming the import.

No. In this version, the import is performed manually in the panel: CSV upload, preview, and confirmation. The module does not offer import scheduling, downloading files from URL, FTP or SFTP, or ready-made ERP synchronisation. The import does not geocode addresses, does not download logos, and does not create missing types or services. The coordinates are provided as data in the CSV.

The module loads the map after the button is clicked, and retrieves the location after the appropriate function is launched and the browser grants permission. However, there is no built-in integration with a consent management platform. When the map is opened, the browser contacts its provider. The coordinates used for the search are transmitted to the store and may appear in the results URL and server logs, therefore sharing such a URL may reveal the location.

The catalogue controller passes the page title, description, breadcrumb navigation and canonical URL of the main catalogue page. Filtered results and subsequent pages have the noindex,follow directive. The list data is rendered in HTML on the server side. The module does not create separate subpages for each item or LocalBusiness structured data and does not guarantee search engine rankings or presence in AI responses.

No. Naming a record a pickup point or assigning a service to it is for informational purposes. Distributor Map Pro does not add pickup point selection to the checkout process, does not save it in the order, does not check product availability at the distributor, and does not book appointments. It also does not assign points to specific products, brands, or categories.

Version 2.2.0 declares compatibility with PrestaShop from 1.7.0.0 up to the 9.x line. The PHP version should also be selected according to the requirements of PrestaShop itself, and the module declaration should not be interpreted as a test of every server and theme combination. The module tables require InnoDB. The interactive OpenFreeMap map requires a browser with WebGL2, geolocation usually requires HTTPS, and the homepage block requires support for displayHome by the theme.

Disabling the catalogue in the settings hides its public page and the block on the homepage, but preserves the data for further editing. Uninstalling removes the module tables and its configuration, so a backup is required beforehand. CSV export alone does not cover the entire module. Logo files are not deleted in bulk during uninstallation; when reinstalling, you need to take into account any remnants in the upload directory.

Reviews (0)

No reviews