Skip to content

webburza/sylius-location-bundle

Repository files navigation

Sylius Location Bundle

This bundle adds location (shops, offices, ...) functionality to Sylius e-commerce platform. Locations are translatable, and can have their own images. Frontend has a listing of all locations, a simple search, detailed location view with images and Google Maps support on both pages.


Installation

  1. require the bundle with Composer:
$ composer require webburza/sylius-location-bundle
  1. enable the bundle in app/AppKernel.php:
public function registerBundles()
{
  $bundles = [
    // ...
    new \Webburza\Sylius\LocationBundle\WebburzaSyliusLocationBundle(),
    // ...
  ];
}
  1. add configuration to the top of app/config/config.yml:
imports:
    - { resource: "@WebburzaSyliusLocationBundle/Resources/config/config.yml" }

Among other things, this provides configuration entries which can then be overriden in your app's config.yml.

webburza_sylius_location:
    google_maps_enabled: false
    google_maps_key: 1234567890
  1. register routes in app/config/routing.yml
webburza_sylius_location_bundle:
    resource: "@WebburzaSyliusLocationBundle/Resources/config/routing.yml"

webburza_sylius_location_bundle_front:
    resource: "@WebburzaSyliusLocationBundle/Resources/config/routingFront.yml"
    prefix: /location

As you can see, there are two groups of routes, the main resource (administration) routes and frontend routes.

  1. The bundle should now be fully integrated, but it still requires database tables to be created. For this, we recommend using migrations.
$ bin/console doctrine:migrations:diff
$ bin/console doctrine:migrations:migrate

Or if you don't use migrations, you can update the database schema directly.

  $ bin/console doctrine:schema:update
  1. By default, there will be no location types defined. You should create and translate the location types that you need and create locations that use those types.

Translations and naming

The bundle has multilingual support, and language files can be overridden as with any other bundle, by creating translation files in the app/Resources/WebburzaSyliusLocationBundle/translations directory.

To get started, check the bundle's main language file in: Resources/translations/messages.en.yml

License

This bundle is available under the MIT license.

To-do

  • automated tests