Skip to content
This repository has been archived by the owner. It is now read-only.

Latest commit

 

History

History
113 lines (82 loc) · 2.22 KB

File metadata and controls

113 lines (82 loc) · 2.22 KB

MenuGenerator

О пакете

Бандл для Symfony2, который позволяет генерировать меню на основе аннотаций к контроллерам и действиям.

Установка

Добавить в composer.json:

    {
       "require": {
            "dizzy7/menu-generator": "dev-master"
        }
    }

Или установить из косноли:

php composer.phar require menu-generator dev-master

Добавить строчку к app/AppKernel.php

class AppKernel extends Kernel
    {
        ...
        public function registerBundles()
        {
            $bundles = array(
                ...
                new Dizzy7\MenuGeneratorBundle\Dizzy7MenuGeneratorBundle(),
            );
            ...

            return $bundles;
        }
        ...
    }

Обновить структуру базы:

app/console doctrine:schema:update --force

В конфигурации приложения при необходимости можно включить кэширование

# app/config/config.yml
dizzy7_menu_generator:
    cache: true

Использование

В классе контроллера, для действий которого нужно сгенерировать меню:

use ...
use Dizzy7\MenuGeneratorBundle\Menu\Mapping\Menu;

/**
 * @Menu(name="Раздел меню",sort="10")
 */
class SampleController extends Controller
{

    /**
     * @Menu(name="Строка меню 2",sort="20")
     */
    public function indexAction()
    {
        ...
    }
    
    /**
     * @Menu(name="Строка меню 1",sort="10")
     */
    public function otherAction()
    {
        ...
    }
}    

Запустить генерацию меню:

app/console menu:generate

В шаблоне для вывода меню спользовать:

{{ knp_menu_render('Dizzy7MenuGeneratorBundle:Builder:generateMenu') }}

Более подробно о шаблонах меню можно в документации KnpMenuBundle