numero2 / contao-storelocator
Contao Plugin for managing stores (or in common address data) and providing a frontend-search based on geo data
Installs: 1 009
Dependents: 0
Suggesters: 4
Security: 0
Stars: 13
Watchers: 8
Forks: 8
Open Issues: 1
Type:contao-module
Requires
- contao/core-bundle: ^4.13 || ^5.0
- doctrine/dbal: ^3.3 || ^3.6
- geocoder-php/google-maps-provider: ^4.6
- psr/http-client: ^1.0
- psr/log: ^1.1 || 2.0 || ^3.0
- symfony/config: ^5.4 || ^6.4 || ^7.0
- symfony/dependency-injection: ^5.4 || ^6.4 || ^7.0
- symfony/event-dispatcher: ^5.4 || ^6.4 || ^7.0
- symfony/event-dispatcher-contracts: ^2.0 || ^3.0
- symfony/filesystem: ^5.4 || ^6.4 || ^7.0
- symfony/http-foundation: ^5.4 || ^6.4 || ^7.0
- symfony/http-kernel: ^5.4 || ^6.4 || ^7.0
- symfony/translation-contracts: ^2.3 || ^3.0
- willdurand/geocoder: ^4.3
Requires (Dev)
Suggests
- geocoder-php/bing-maps-provider: For use of Bing Maps as geocode provider
- geocoder-php/here-provider: For use of HERE Maps as geocode provider
- geocoder-php/nominatim-provider: For use of OpenStreetMap Nominatim as geocode provider
- geocoder-php/open-cage-provider: For use of OpenCage as geocode provider
- numero2/contao-tags: Allows the tagging of stores
Conflicts
- contao/core: *
- contao/manager-plugin: <2.0 || >=3.0
README
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
System requirements
- Contao 4.13 or newer
- Google API Key
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:
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 numero2\StoreLocatorBundle\Event\StoreImportEvent; use numero2\StoreLocatorBundle\Event\StoreLocatorEvents; use Symfony\Component\EventDispatcher\Attribute\AsEventListener; #[AsEventListener(StoreLocatorEvents::STORE_IMPORT)] class StoreImportListener { public function __invoke( StoreImportEvent $event ): void { // … } }