1. Installation¶
Danger
We’re sorry but this documentation section is outdated. Please have that in mind when trying to use it. You can help us making documentation up to date via Sylius Github. Thank you!
We assume you’re familiar with Composer, a dependency manager for PHP.
Use the following command to add the bundle to your composer.json
and download the package.
If you have Composer installed globally.
composer require sylius/promotion-bundle
Otherwise you have to download .phar file.
curl -sS https://getcomposer.org/installer | php
php composer.phar require sylius/promotion-bundle
1.1. Adding required bundles to the kernel¶
You need to enable the bundle inside the kernel.
If you’re not using any other Sylius bundles, you will also need to add SyliusResourceBundle
and its dependencies to kernel.
Don’t worry, everything was automatically installed via Composer.
<?php
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
new FOS\RestBundle\FOSRestBundle(),
new JMS\SerializerBundle\JMSSerializerBundle(),
new Stof\DoctrineExtensionsBundle\StofDoctrineExtensionsBundle(),
new BabDev\PagerfantaBundle\BabDevPagerfantaBundle(),
new winzou\Bundle\StateMachineBundle\winzouStateMachineBundle(),
new Sylius\Bundle\ResourceBundle\SyliusResourceBundle(),
new Sylius\Bundle\PromotionBundle\SyliusPromotionBundle(),
// Other bundles...
new Doctrine\Bundle\DoctrineBundle\DoctrineBundle(),
);
}
1.2. Promotion Subject configuration¶
Note
You need to have a class that is registered as a Sylius resource.
It can be for example a CarRentalOrderClass
.
- Make your
CarRentalOrder
class implement thePromotionSubjectInterface
.
Put its configuration inside your app/config/config.yml
.
# app/config/config.yml
sylius_promotion:
resources:
promotion_subject:
classes:
model: App\Entity\CarRentalOrder
And configure doctrine extensions which are used by the bundle.
# app/config/config.yml
stof_doctrine_extensions:
orm:
default:
timestampable: true
Congratulations! The bundle is now installed and ready to use.