From c36d83e1f8d4fb3af143403fe49925567e3619ea Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Fr=C3=A9mont?= Date: Fri, 24 Oct 2025 17:00:09 +0200 Subject: [PATCH] [Ui] Add a full layout --- config/routes.yaml | 12 +++++++ config/sylius/twig_hooks/cms/page.php | 30 ++++++++++++++++ src/AdminUi/templates/layout/full.html.twig | 23 ++++++++++++ .../config/app/twig_hooks/layout/full.php | 36 +++++++++++++++++++ templates/cms/page/simple.html.twig | 15 ++++++++ templates/cms/page/with_hooks.html.twig | 3 ++ templates/cms/page/with_hooks/body.html.twig | 11 ++++++ 7 files changed, 130 insertions(+) create mode 100644 config/sylius/twig_hooks/cms/page.php create mode 100644 src/AdminUi/templates/layout/full.html.twig create mode 100644 src/BootstrapAdminUi/config/app/twig_hooks/layout/full.php create mode 100644 templates/cms/page/simple.html.twig create mode 100644 templates/cms/page/with_hooks.html.twig create mode 100644 templates/cms/page/with_hooks/body.html.twig diff --git a/config/routes.yaml b/config/routes.yaml index bb6939d77..4ba7f8253 100644 --- a/config/routes.yaml +++ b/config/routes.yaml @@ -3,3 +3,15 @@ index: controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController defaults: template: base.html.twig + +admin_cms_simple_page: + path: /admin/cms/page/simple + controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController + defaults: + template: 'cms/page/simple.html.twig' + +admin_cms_page_with_hooks: + path: /admin/cms/page/with_hooks + controller: Symfony\Bundle\FrameworkBundle\Controller\TemplateController + defaults: + template: 'cms/page/with_hooks.html.twig' diff --git a/config/sylius/twig_hooks/cms/page.php b/config/sylius/twig_hooks/cms/page.php new file mode 100644 index 000000000..4c1dfd812 --- /dev/null +++ b/config/sylius/twig_hooks/cms/page.php @@ -0,0 +1,30 @@ +extension('sylius_twig_hooks', [ + 'hooks' => [ + 'app.cms_page#navbar' => [ + 'content' => [ + 'enabled' => false, + ], + ], + 'app.cms_page#content' => [ + 'body' => [ + 'template' => 'cms/page/with_hooks/body.html.twig', + ], + ], + ], + ]); +}; diff --git a/src/AdminUi/templates/layout/full.html.twig b/src/AdminUi/templates/layout/full.html.twig new file mode 100644 index 000000000..ceb82adf3 --- /dev/null +++ b/src/AdminUi/templates/layout/full.html.twig @@ -0,0 +1,23 @@ +{% extends '@SyliusAdminUi/base.html.twig' %} + +{% set prefixes = prefixes|default({})|merge([ + 'sylius_admin.common.layout.full', +]) %} + +{% block body %} + {% block sidebar %} + {% hook '#sidebar' with {_prefixes: prefixes} %} + {% endblock %} + + {% block navbar %} + {% hook '#navbar' with {_prefixes: prefixes} %} + {% endblock %} + + {% block content %} + {% hook '#content' with {_prefixes: prefixes} %} + {% endblock %} + + {% block footer %} + {% hook '#footer' with {_prefixes: prefixes} %} + {% endblock %} +{% endblock %} diff --git a/src/BootstrapAdminUi/config/app/twig_hooks/layout/full.php b/src/BootstrapAdminUi/config/app/twig_hooks/layout/full.php new file mode 100644 index 000000000..673172bf6 --- /dev/null +++ b/src/BootstrapAdminUi/config/app/twig_hooks/layout/full.php @@ -0,0 +1,36 @@ +extension('sylius_twig_hooks', [ + 'hooks' => [ + 'sylius_admin.common.layout.full#sidebar' => [ + 'content' => [ + 'template' => '@SyliusBootstrapAdminUi/shared/crud/common/sidebar.html.twig', + ], + ], + 'sylius_admin.common.layout.full#navbar' => [ + 'content' => [ + 'template' => '@SyliusBootstrapAdminUi/shared/crud/common/navbar.html.twig', + ], + ], + 'sylius_admin.common.layout.full#footer' => [ + 'content' => [ + 'template' => '@SyliusBootstrapAdminUi/shared/crud/common/content/footer.html.twig', + ], + ], + ], + ]); +}; diff --git a/templates/cms/page/simple.html.twig b/templates/cms/page/simple.html.twig new file mode 100644 index 000000000..220513623 --- /dev/null +++ b/templates/cms/page/simple.html.twig @@ -0,0 +1,15 @@ +{% extends '@SyliusAdminUi/layout/full.html.twig' %} + +{% block content %} +
+
+
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ac felis nec sapien interdum luctus. Integer non sapien in urna faucibus pharetra. Vivamus vitae justo at arcu gravida aliquam. Sed congue eros id dolor faucibus, in iaculis arcu lacinia.

+

Section

+

Phasellus euismod, justo in facilisis lacinia, massa arcu convallis libero, sed consequat dolor nisl sit amet libero. Aenean euismod sem vel turpis ultrices, vitae laoreet leo sodales.

+
+
+
+
+{% endblock %} diff --git a/templates/cms/page/with_hooks.html.twig b/templates/cms/page/with_hooks.html.twig new file mode 100644 index 000000000..97402f8b4 --- /dev/null +++ b/templates/cms/page/with_hooks.html.twig @@ -0,0 +1,3 @@ +{% extends '@SyliusAdminUi/layout/full.html.twig' %} + +{% set prefixes = ['app.cms_page'] %} diff --git a/templates/cms/page/with_hooks/body.html.twig b/templates/cms/page/with_hooks/body.html.twig new file mode 100644 index 000000000..acc58d181 --- /dev/null +++ b/templates/cms/page/with_hooks/body.html.twig @@ -0,0 +1,11 @@ +
+
+
+
+

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur ac felis nec sapien interdum luctus. Integer non sapien in urna faucibus pharetra. Vivamus vitae justo at arcu gravida aliquam. Sed congue eros id dolor faucibus, in iaculis arcu lacinia.

+

Section

+

Phasellus euismod, justo in facilisis lacinia, massa arcu convallis libero, sed consequat dolor nisl sit amet libero. Aenean euismod sem vel turpis ultrices, vitae laoreet leo sodales.

+
+
+
+