- We work on stable, supported and up-to-date versions of packages. We recommend you to do the same.
$ composer require bitbag/sulu-plugin
- Add plugin dependencies to your
config/bundles.php
file:
return [
...
BitBag\SyliusSuluPlugin\BitBagSyliusSuluPlugin::class => ['all' => true],
];
- Import required config in your
config/packages/_sylius.yaml
file:
# config/packages/_sylius.yaml
imports:
...
- { resource: "@BitBagSyliusSuluPlugin/config/config.yaml" }
- Import routing in your
config/routes.yaml
file:
# config/routes.yaml
...
bitbag_sylius_sulu_plugin:
resource: "@BitBagSyliusSuluPlugin/config/routing.yml"
- Use Channel trait in your channel entity.
use BitBag\SyliusSuluPlugin\Entity\SuluChannelConfigurationTrait;
class Channel extends BaseChannel
{
use SuluChannelConfigurationTrait;
-
Implement
\BitBag\SyliusSuluPlugin\Entity\ChannelInterface
-
Add doctrine mapping. Choose xml, attributes or annotations, depending what you use on project.
Xml
<?xml version="1.0" encoding="UTF-8"?>
<doctrine-mapping
xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping
http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd"
>
<entity name="App\Entity\Channel\Channel" table="sylius_channel">
<field name="suluUseLocalizedUrls" column="sulu_use_localized_url" type="boolean"/>
</entity>
</doctrine-mapping>
Attributes or Annotations
/**
* @ORM\Entity
* @ORM\Table(name='sylius_channel')
*/
#[ORM\Entity]
#[ORM\Table(name: 'sylius_channel')]
class Channel extends BaseChannel
{
use SuluChannelConfigurationTrait;
/** @ORM\Column(type='boolean', nullable=false name='sulu_use_localized_url') */
#[ORM\Column(type: 'boolean', nullable: false, name: 'sulu_use_localized_url')]
protected bool $suluUseLocalizedUrls = false;
}
- Finish the installation by updating the database schema
$ bin/console cache:clear
$ bin/console doctrine:migrations:diff
$ bin/console doctrine:migrations:migrate
$ composer install
$ cd tests/Application
$ yarn install
$ yarn encore dev
$ APP_ENV=test bin/console assets:install
$ APP_ENV=test bin/console doctrine:schema:create
$ APP_ENV=test symfony server:start --port=8080 -d
$ cd ../..
$ open http://localhost:8080
$ vendor/bin/behat
$ vendor/bin/phpspec run