/SyliusWishlistPlugin

This plugin allows you to integrate wishlist features with Sylius platform app.

Primary LanguagePHPMIT LicenseMIT

About us

At BitBag we do believe in open source. However, we are able to do it just beacuse of our awesome clients, who are kind enough to share some parts of our work with the community. Therefore, if you feel like there is a possibility for us working together, feel free to reach us out. You will find out more about our professional services, technologies and contact details at https://bitbag.io/.

BitBag SyliusWishlistPlugin

This plugin allows you to integrate wishlist features with Sylius platform app.

Demo

We created a demo app with some useful use-cases of the plugin! Visit demo.bitbag.shop to take a look at it. The admin can be accessed under demo.bitbag.shop/admin link and sylius: sylius credentials.

Installation

$ composer require bitbag/wishlist-plugin

Add plugin dependencies to your config/bundles.php file:

return [
    ...

    BitBag\SyliusWishlistPlugin\BitBagSyliusWishlistPlugin::class => ['all' => true],
];

Import required config in your config/packages/_sylius.yaml file:

# config/packages/_sylius.yaml

imports:
    ...
    
    - { resource: "@BitBagSyliusWishlistPlugin/Resources/config/config.yml" }

Import routing in your config/routes.yaml file:

# config/routes.yaml

bitbag_sylius_wishlist_plugin:
    resource: "@BitBagSyliusWishlistPlugin/Resources/config/routing.yml"

Update your database

$ bin/console doctrine:migrations:migrate

Note: If you are running it on production, add the -e prod flag to this command.

Usage

Rendering the wishlist

You can use @BitBagSyliusWishlistPlugin/_addToWishlist.html.twig, @BitBagSyliusWishlistPlugin/_removeFromWishlist.html.twig and @BitBagSyliusWishlistPlugin/_removeFromWishlist.html.twig templates to enable adding/removing/displaying wishlist from the Twig UI.

For an example on how to do that, take a look at these source files.

Customization

Available services you can decorate and forms you can extend

Run the below command to see what Symfony services are shared with this plugin:

$ bin/console debug:container | grep bitbag_sylius_wishlist_plugin

Parameters you can override in your parameters.yml(.dist) file

$ bin/console debug:container --parameters | grep bitbag
$ bin/console debug:container --parameters | grep wishlist

Testing

$ composer install
$ cd tests/Application
$ yarn install
$ yarn build
$ bin/console assets:install public -e test
$ bin/console doctrine:schema:create -e test
$ bin/console server:run 127.0.0.1:8080 -d public -e test
$ open http://localhost:8080
$ cd ../..
$ vendor/bin/behat
$ vendor/bin/phpspec run

Contribution

Learn more about our contribution workflow on http://docs.sylius.org/en/latest/contributing/.