monsieurbiz / sylius-menu-plugin
此插件允许您管理菜单。
v1.4.1
2024-09-05 12:44 UTC
Requires
- php: ^8.0
- sylius/sylius: >=1.11 <1.14
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.16
- phpmd/phpmd: ^2.15
- phpspec/phpspec: ^7.0
- phpstan/phpstan: ^1.8.4
- phpstan/phpstan-doctrine: ^1.3.2
- phpstan/phpstan-webmozart-assert: ^1.1
- phpunit/phpunit: ^10.5
README
Sylius 菜单插件
此插件允许您管理您的菜单。
兼容性
安装
如果您想使用我们的食谱,可以通过运行以下命令配置您的 composer.json:
composer config --no-plugins --json extra.symfony.endpoint '["https://api.github.com/repos/monsieurbiz/symfony-recipes/contents/index.json?ref=flex/master","flex://defaults"]'
composer require monsieurbiz/sylius-menu-plugin
将您的 config/bundles.php
文件更改以添加插件的行
<?php return [ //.. MonsieurBiz\SyliusMenuPlugin\MonsieurBizSyliusMenuPlugin::class => ['all' => true], ];
然后在 config/packages/monsieurbiz_sylius_menu_plugin.yaml
中创建配置文件
imports: - { resource: "@MonsieurBizSyliusMenuPlugin/Resources/config/config.yaml" } twig: form_themes: ['@MonsieurBizSyliusMenuPlugin/Admin/Browser/Form/_theme.html.twig']
最后在 config/routes/monsieurbiz_sylius_menu_plugin.yaml
中导入路由
monsieurbiz_menu_admin: resource: "@MonsieurBizSyliusMenuPlugin/Resources/config/routes/admin.yaml" prefix: /%sylius_admin.path_name%
然后运行它
bin/console doctrine:migrations:migrate
自定义菜单
如果您想自定义菜单,例如添加图片,可以通过覆盖 MenuItem 实体来实现(有关在 Sylius 文档中覆盖实体的更多信息,请参阅 覆盖实体)。
添加 URL 提供者
URL 选择器允许您从一组 URL 中选择一个 URL。它为
- 分类
- 产品
您可以通过创建一个实现 MonsieurBiz\SyliusMenuPlugin\Provider\UrlProviderInterface
接口的自定义类来添加您自己的自定义提供者。
demo.mov
菜单示例
管理员表单索引
菜单前端视图
前端视图与默认视图完全相同。
自定义前端视图
菜单的外观可能会因显示位置而大不相同,因此您通常需要为菜单项创建自己的宏。一个不错的起点是这里的主菜单模板:src/Resources/views/Layout/Header/_menu.html.twig
,其中我们定义了菜单项的宏,并在模板中直接使用它们。
要获取菜单的第一个项目,您可以调用我们的自定义 Twig 函数 menu_first_level('main')
,其中 main
是我们想要检索的菜单的代码。
贡献
如果您想,可以打开一个问题或拉取请求!😘
谢谢!