Skip to content

Contao Plugin for managing stores (or in common address data) and providing a frontend-search based on geo data.

License

Notifications You must be signed in to change notification settings

numero2/contao-storelocator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Contao StoreLocator

License: LGPL v3

About

This extension offers the possibility to create multiple lists containing address data, contact information as well as opening times. From the Frontend the user can enter any possible address to see which stores are nearby (like on Google Maps). Read more

Screenshot

Editing a single store

System requirements

Installation

  • Install via Contao Manager or Composer (composer require numero2/contao-storelocator)
  • Run a database update via the Contao-Installtool or using the contao:migrate command.

Using other providers

StoreLocator comes pre-bundled with a provider for Google Maps. If you want to use another provider you'll need to install additional packages:

Package Provider
numero2/contao-storelocator-bing-maps-provider Bing Maps
numero2/contao-storelocator-here-provider HERE Maps
numero2/contao-storelocator-nominatim-provider OpenStreetMap Nominatim
numero2/contao-storelocator-open-cage-provider OpenCage

Events

By default the importer will populate the model with the fields for the current row and the key provided in the first row of the file. For custom handling feel free to use the contao.storelocator_store_import event:

// src/EventListener/StoreImportListener.php
namespace App\EventListener;

use Contao\StoreLocatorBundle\Event\StoreImportEvent;
use Contao\StoreLocatorBundle\Event\StoreLocatorEvents;
use Symfony\Component\EventDispatcher\Attribute\AsEventListener;

#[AsEventListener(StoreLocatorEvents::STORE_IMPORT)]
class StoreImportListener {

    public function __invoke( StoreLocatorEvents $event ): void {
        // …
    }
}