Panel administracyjny dla Symfony od Sonata Bundle

4,572 Views

Jeżeli poszukujesz szybkiego rozwiązania dla panelu administracyjnego dla Frameworka Symfony to polecam Tobie Sonata Admin Bundle. To system administracyjny w którym w łatwy sposób zbudujesz zaplecze dla Twojego projektu. Oprócz bundla panelu administracyjnego Stanta dostarcza również inne bundle typu: Block Bundle (bloki panelu administracyjnego), Page Bundle (strony tekstowe), Newsl Blundle (newsy), Media Bundle (zarządzanie mediami), Seo Bundle, Ecommerce (sklep internetowy), Classification Bundle (kategoryzacja).

Instalacja oraz konfiguracja bundla Andmin Sonata Bundle dla Symfony w wersji 4.

  1. Instalacja pakietu z konsoli:
composer require sonata-project/admin-bundle

2. Zainstaluj jeden z poniższych Bundli do zarządzania doktryną:

Standardowo jest to:

composer require sonata-project/doctrine-orm-admin-bundle

3. Przejdź do pliku configuracji pakietów: (config/bundles.php) i dodaj poniższe wpisy:

// config/bundles.php

return [
    // ...
    SymfonyBundleSecurityBundleSecurityBundle::class => ['all' => true],
    SonataCoreBundleSonataCoreBundle::class => ['all' => true],
    SonataBlockBundleSonataBlockBundle::class => ['all' => true],
    KnpBundleMenuBundleKnpMenuBundle::class => ['all' => true],
    SonataAdminBundleSonataAdminBundle::class => ['all' => true],
];

4. Utwórz plik dla routingu w lokalizacji: (/config/routes/) o nazwie: sonata_admin.yaml oraz poniższą zawartością:

admin_area:
    resource: "@SonataAdminBundle/Resources/config/routing/sonata_admin.xml"
    prefix: /admin
 
_sonata_admin:
    resource: .
    type: sonata_admin
    prefix: /admin

5. Utwórz plik konfiguracyjny (Yaml) bundla w lokalizacji: (config/packages) o nazwie: sonata_admin.yaml wraz z poniższą zawartością. W pliku konfiguracyjnym będziesz miał możliwość zarządzania wyglądem panelu (patrz dokumentacja).

sonata_admin:
    title: 'Twój panel administracyjny Sonata Admin'
 
sonata_block:
    blocks:
        sonata.admin.block.admin_list:
            contexts: [admin]

6. Na sam koniec wykonaj poniższe polecenia aby wyczyścić pamięć podręczną i zainstalować zasoby Assetic:

php bin/console cache:clear
php bin/console assets:install

Doskonale! Twój panel administracyjny powinien być widoczny po uruchomieniu adresu: http://twoj_adres_url_projektu/admin.

Fave fun!