netgen / layouts-sylius
Netgen Layouts & Sylius eCommerce integration
Installs: 14 680
Dependents: 2
Suggesters: 0
Security: 0
Stars: 23
Watchers: 4
Forks: 3
Open Issues: 0
Type:symfony-bundle
pkg:composer/netgen/layouts-sylius
Requires
- php: ^8.4
- doctrine/orm: ^3.6
- netgen/content-browser-sylius: ^2.0
- netgen/layouts-core: ~2.0.0
- sylius/resource-bundle: ^1.14
- sylius/sylius: ^2.2
Requires (Dev)
- netgen/layouts-coding-standard: ^3.0
- phpstan/extension-installer: ^1.4
- phpstan/phpstan: ^2.1
- phpstan/phpstan-phpunit: ^2.0
- phpstan/phpstan-strict-rules: ^2.0
- phpunit/phpunit: ^13.0
README
Installation instructions
Use Composer
Run the following command to install Netgen Layouts & Sylius eCommerce integration:
composer require netgen/layouts-sylius
Symfony Flex will automatically enable the bundle and import the routes.
Configure the main layout
Due to how Netgen Layouts works, your main layout template needs to wrap the
content block inside a new layout block:
{% block layout %}
{% block content %}
{% endblock %}
{% endblock %}
All full view templates (those that are rendered directly by controllers), need
to extend nglayouts.layoutTemplate instead of your original layout:
{% extends nglayouts.layoutTemplate %}
{% block content %}
...
{% endblock %}
This allows Netgen Layouts to inject a layout resolved for the request into your page. Since you configured all your full views to now use Netgen Layouts, they will not fallback to your main layout template. Because of that, you need to configure Netgen Layouts with your main layout template, so the fallback keeps working as it should.
# config/packages/netgen_layouts.yaml netgen_layouts: pagelayout: templates/shop/layout.html.twig
Activate ESI and fragments support
Netgen Layouts requires that ESI and fragments support is activated in Symfony.
# config/packages/framework.yaml framework: esi: true fragments: true
Update security rules for admin UI integration
To properly integrate Netgen Layouts and Sylius admin interfaces, you need to
redefine the sylius.security.admin_regex parameter to allow access to
Netgen Layouts admin routes:
# config/packages/security.yaml parameters: sylius.security.admin_regex: "^(/%sylius_admin.path_name%|/nglayouts/app|/nglayouts/api|/nglayouts/admin|/cb)"