blackator/vedi-menu-bundle

Symfony 的菜单组件

安装: 12

依赖者: 0

建议者: 0

安全: 0

星标: 0

关注者: 1

分支: 0

公开问题: 0

类型:symfony-bundle

0.5.4 2021-08-13 10:28 UTC

This package is auto-updated.

Last update: 2024-09-13 17:16:47 UTC


README

此组件为在 Symfony 中处理菜单添加了功能。

安装

composer require blackator/vedi-menu-bundle

使用

<?php

namespace App\Controller;

use Blackator\Bundle\VediMenuBundle\Loaders\YamlMenuLoader;
use Blackator\Bundle\VediMenuBundle\Service\VediMenu;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Annotation\Route;

class HomeController extends AbstractController
{
    /**
     * @Route("/", name="home")
     */
    public function index(VediMenu $vediMenu): Response
    {
        $menu = $vediMenu->create(new YamlMenuLoader($this->getParameter('kernel.project_dir') . '/config/menu/main_menu.yaml'), 'main');
        return $this->render('home/index.html.twig', ['menu' => $menu]);
    }
}

在 twig 模板中

{{ render_menu(menu) }}

VediMenu - 从加载器数据创建菜单对象的 服务

YamlMenuLoader - 用于从 YAML 文件加载数据的类。扩展了 Blackator\Bundle\VediMenuBundle\Loaders\AbstractMenuLoader

默认的 TWIG 模板位于 vendor/blackator/vedi-menu-bundle/Resources/views/default.html.twig@VediMenu/default.html.twig 作为 TWIG 路径。