maZahaca/sonata-admin-tree-bundle

Sonata navbar with filters and view modes missing

phso opened this issue · 1 comments

phso commented

we work on a projekt with symfony 4 and sonata. we are using the SonataAdminTreeBundle to manage our Categories.

symfony packages:

  • symfony/apache-pack v1.0.1 A pack for Apache support in Symfony
  • symfony/asset v4.4.7 Symfony Asset Component
  • symfony/browser-kit v4.4.7 Symfony BrowserKit Component
  • symfony/cache v4.4.7 Symfony Cache component with PSR-6, PSR-16, and tags
  • symfony/cache-contracts v2.0.1 Generic abstractions related to caching
  • symfony/config v4.4.7 Symfony Config Component
  • symfony/console v4.4.7 Symfony Console Component
  • symfony/css-selector v4.4.7 Symfony CssSelector Component
  • symfony/debug v4.4.7 Symfony Debug Component
  • symfony/debug-bundle v4.4.7 Symfony DebugBundle
  • symfony/debug-pack v1.0.8 A debug pack for Symfony projects
  • symfony/dependency-injection v4.4.7 Symfony DependencyInjection Component
  • symfony/doctrine-bridge v4.4.7 Symfony Doctrine Bridge
  • symfony/dom-crawler v4.4.7 Symfony DomCrawler Component
  • symfony/dotenv v4.4.7 Registers environment variables from a .env file
  • symfony/error-handler v4.4.7 Symfony ErrorHandler Component
  • symfony/event-dispatcher v4.4.7 Symfony EventDispatcher Component
  • symfony/event-dispatcher-contracts v1.1.7 Generic abstractions related to dispatching event
  • symfony/expression-language v4.4.7 Symfony ExpressionLanguage Component
  • symfony/filesystem v4.4.7 Symfony Filesystem Component
  • symfony/finder v4.4.7 Symfony Finder Component
  • symfony/flex v1.6.2 Composer plugin for Symfony
  • symfony/form v4.4.7 Symfony Form Component
  • symfony/framework-bundle v4.4.7 Symfony FrameworkBundle
  • symfony/http-client v4.4.7 Symfony HttpClient component
  • symfony/http-client-contracts v2.0.1 Generic abstractions related to HTTP clients
  • symfony/http-foundation v4.4.7 Symfony HttpFoundation Component
  • symfony/http-kernel v4.4.7 Symfony HttpKernel Component
  • symfony/inflector v4.4.7 Symfony Inflector Component
  • symfony/intl v4.4.7 A PHP replacement layer for the C intl extension that includes additional data from the ICU library.
  • symfony/mailer v4.4.7 Symfony Mailer Component
  • symfony/maker-bundle v1.15.1 Symfony Maker helps you create empty commands, controllers, form classes, tests and more so you can forget about writing boilerplate code.
  • symfony/mime v4.4.7 A library to manipulate MIME messages
  • symfony/monolog-bridge v4.4.7 Symfony Monolog Bridge
  • symfony/monolog-bundle v3.5.0 Symfony MonologBundle
  • symfony/options-resolver v4.4.7 Symfony OptionsResolver Component
  • symfony/orm-pack v1.0.8 A pack for the Doctrine ORM
  • symfony/phpunit-bridge v5.0.7 Symfony PHPUnit Bridge
  • symfony/polyfill-intl-grapheme v1.15.0 Symfony polyfill for intl's grapheme_* functions
  • symfony/polyfill-intl-icu v1.15.0 Symfony polyfill for intl's ICU-related data and classes
  • symfony/polyfill-intl-idn v1.15.0 Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions
  • symfony/polyfill-intl-normalizer v1.15.0 Symfony polyfill for intl's Normalizer class and related functions
  • symfony/polyfill-mbstring v1.15.0 Symfony polyfill for the Mbstring extension
  • symfony/polyfill-php72 v1.15.0 Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions
  • symfony/polyfill-php73 v1.15.0 Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions
  • symfony/process v4.4.7 Symfony Process Component
  • symfony/profiler-pack v1.0.4 A pack for the Symfony web profiler
  • symfony/property-access v4.4.7 Symfony PropertyAccess Component
  • symfony/property-info v4.4.7 Symfony Property Info Component
  • symfony/routing v4.4.7 Symfony Routing Component
  • symfony/security-acl v3.0.4 Symfony Security Component - ACL (Access Control List)
  • symfony/security-bundle v4.4.7 Symfony SecurityBundle
  • symfony/security-core v4.4.7 Symfony Security Component - Core Library
  • symfony/security-csrf v4.4.7 Symfony Security Component - CSRF Library
  • symfony/security-guard v4.4.7 Symfony Security Component - Guard
  • symfony/security-http v4.4.7 Symfony Security Component - HTTP Integration
  • symfony/serializer v4.4.7 Symfony Serializer Component
  • symfony/serializer-pack v1.0.3 A pack for the Symfony serializer
  • symfony/service-contracts v2.0.1 Generic abstractions related to writing services
  • symfony/stopwatch v4.4.7 Symfony Stopwatch Component
  • symfony/string v5.0.7 Symfony String component
  • symfony/templating v4.4.7 Symfony Templating Component
  • symfony/test-pack v1.0.6 A pack for functional and end-to-end testing within a Symfony app
  • symfony/translation v4.4.7 Symfony Translation Component
  • symfony/translation-contracts v2.0.1 Generic abstractions related to translation
  • symfony/twig-bridge v4.4.7 Symfony Twig Bridge
  • symfony/twig-bundle v4.4.7 Symfony TwigBundle
  • symfony/twig-pack v1.0.0 A Twig pack for Symfony projects
  • symfony/validator v4.4.7 Symfony Validator Component
  • symfony/var-dumper v4.4.7 Symfony mechanism for exploring and dumping PHP variables
  • symfony/var-exporter v4.4.7 A blend of var_export() + serialize() to turn any serializable data structure to plain PHP code
  • symfony/web-link v4.4.7 Symfony WebLink Component
  • symfony/web-profiler-bundle v4.4.7 Symfony WebProfilerBundle
  • symfony/yaml v4.4.7 Symfony Yaml Component
  • symfonycasts/reset-password-bundle v1.1.1 Symfony bundle that adds password reset functionality.

sonata packages:

  • sonata-project/admin-bundle 3.65.0 The missing Symfony Admin Generator
  • sonata-project/block-bundle 3.18.4 Symfony SonataBlockBundle
  • sonata-project/cache 2.0.1 Cache library
  • sonata-project/core-bundle 3.18.0 Symfony SonataCoreBundle (abandoned)
  • sonata-project/datagrid-bundle 2.5.0 Symfony SonataDatagridBundle
  • sonata-project/doctrine-extensions 1.6.0 Doctrine2 behavioral extensions
  • sonata-project/doctrine-orm-admin-bundle 3.17.1 Symfony Sonata / Integrate Doctrine ORM into the SonataAdminBundle
  • sonata-project/exporter 2.2.0 Lightweight Exporter library

basically everything works fine - but the menu from sonata were the datagrid filters are located (aka navbar) is not showing up. in that menu you can usually switch the view modes (grid, list, tree) and set up some filters. it worked at the start but once i tried the tree view for the first time, everything was gone and did not show up again.

so what we basically do is: src/Admin/CategoryAdmin:

namespace App\Admin;

use RedCode\TreeBundle\Admin\AbstractTreeAdmin;
use Sonata\AdminBundle\Datagrid\ListMapper;
use Sonata\AdminBundle\Datagrid\DatagridMapper;
use Sonata\AdminBundle\Form\FormMapper;
use Symfony\Component\Form\Extension\Core\Type\TextType;

final class CategoryAdmin extends AbstractTreeAdmin
{

    protected function configureFormFields(FormMapper $formMapper)
    {
        $formMapper->add('name', TextType::class);
    }

    protected function configureDatagridFilters(DatagridMapper $datagridMapper)
    {
        $datagridMapper->add('name');
        $datagridMapper->add('product_id');
    }

    protected function configureListFields(ListMapper $listMapper)
    {
        $listMapper->addIdentifier('name');
    }
}

Same here, I solved extending tree.html.twig template from this bundle and adding these blocks from base_list.html.twig layout from sonata admin:

{%- block tab_menu -%}
    {{ knp_menu_render(admin.sidemenu(action), {
        'currentClass': 'active',
        'template': get_global_template('tab_menu_template')
    }, 'twig') }}
{%- endblock -%}

{% block title %}
    {{ admin.isChild and admin.parent.subject ? 'title_edit'|trans({'%name%': admin.parent.toString(admin.parent.subject)|truncate(15) }, 'SonataAdminBundle') : '' }}
{% endblock %}

{% block navbar_title %}
    {{ admin.isChild and admin.parent.subject ? 'title_edit'|trans({'%name%': admin.parent.toString(admin.parent.subject)|truncate(100) }, 'SonataAdminBundle') : '' }}
{% endblock %}