monsieurbiz/sylius-cms-page-plugin

This plugins allows you to add manage CMS pages using the Rich Editor

Installs: 5 644

Dependents: 0

Suggesters: 0

Security: 0

Stars: 16

Watchers: 4

Forks: 12

Open Issues: 1

Type:sylius-plugin

This package is auto-updated.

Last update: 2021-08-25 08:16:28 UTC


README

Monsieur Biz logo      Sylius logo
Monsieur Biz is a Sylius Extension Artisan partner

CMS Pages

CMS Page Plugin license Tests Status Security Status

This plugins allows you to add manage CMS pages using the Rich Editor.

If you want to know more about our editor, see the Rich Editor Repository

Example of CMS page creation

Installation

composer require monsieurbiz/sylius-cms-page-plugin

Change your config/bundles.php file to add the line for the plugin :

<?php

return [
    //..
    MonsieurBiz\SyliusCmsPagePlugin\MonsieurBizSyliusCmsPagePlugin::class => ['all' => true],
];

Then create the config file in config/packages/monsieurbiz_sylius_cms_page_plugin.yaml :

imports:
    - { resource: "@MonsieurBizSyliusCmsPagePlugin/Resources/config/config.yaml" }

Finally import the routes in config/routes/monsieurbiz_sylius_cms_page_plugin.yaml :

monsieurbiz_cms_page_admin:
    resource: "@MonsieurBizSyliusCmsPagePlugin/Resources/config/routing/admin.yaml"
    prefix: /%sylius_admin.path_name%

monsieurbiz_cms_page_shop:
    resource: "@MonsieurBizSyliusCmsPagePlugin/Resources/config/routing/shop.yaml"
    prefix: /{_locale}

Migrations

Make a doctrine migration diff :

bin/console doctrine:migrations:diff

Then run it :

bin/console doctrine:migrations:migrate

Example of complete CMS Page

Admin form with preview

Admin full form

Front display

Front full display

Create custom elements

You can customize and create custom elements in your page.
In order to do that, you can check the Rich Editor custom element creation

SEO Friendly

You can define for every page the meta title, meta description and meta keywords.

Troubleshooting

Locale not found

We've added a new LocaleContext (LastChanceLocaleContext) because the locale isn't set in the request when the condition on the route is applied.
Therefore, if you still have an issue with multiple locales in your project, you may need to add another LocaleContext in order to find out your locale. The system will take care of the rest.

Contributing

You can open an issue or a Pull Request if you want! 😘
Thank you!