Ankündigung

Einklappen
Keine Ankündigung bisher.

Symfony 4 - Kann jemand helfen mit Config für Bundle?

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Symfony 4 - Kann jemand helfen mit Config für Bundle?

    Hallo Forum,

    leider habe ich ein kleines Problem mit Configuration von einem Bundle. Bin gerade dabei ein Bundle zu schreiben.

    Dazu möchte ich eine Configuration haben und da hakt es genau!


    Hier ein Beispiel von yaml Konfiguration:
    1. filter kann mehrere arrays haben wie urlaubsdomizil, seite, preis_bis usw... alle sind nach gleichem Muster.
    2. die Kinder von filter (Urlaubsdomizil, seite, preis_bis. usw...) haben immer ein Kind: "language"
    3. language kann auch mehrere Kinder haben wie de, en usw...
    4. die Kinder von language (de, en, usw...) können String oder ein einfaches Array haben.
    und genau hier hakt es!

    PHP-Code:
    ferien_search:
      
    filter:
        
    urlaubsdomizil:
          
    language:
            
    de: ['ferienwohnung''ferienhaus''camping']
            
    en: ['apartment''holiday-house''camping']

        
    seite:
          
    language:
            
    de'seite:*'
            
    en'page:*'

        
    preis_bis:
          
    language:
            
    de'preis-bis:*'
            
    en'price-until:*' 
    Meine Configuration.php:
    PHP-Code:
    <?php

    namespace Holiday\Bundle\SearchBundle\DependencyInjection;

    use 
    Symfony\Component\Config\Definition\Builder\TreeBuilder;
    use 
    Symfony\Component\Config\Definition\ConfigurationInterface;

    class 
    Configuration implements ConfigurationInterface
    {
        public function 
    getConfigTreeBuilder()
        {
            
    $treeBuilder = new TreeBuilder('ferien_search');
            
    $treeBuilder->getRootNode()
            ->
    children()
                ->
    arrayNode('filter')
                    ->
    isRequired()
                    ->
    requiresAtLeastOneElement()
                    ->
    useAttributeAsKey('name')
                    ->
    prototype('array')
                        ->
    children()
                            ->
    arrayNode('language')
                                ->
    isRequired()
                                ->
    requiresAtLeastOneElement()
                                ->
    useAttributeAsKey('name')
                                ->
    prototype('array')
                                    ->
    children()
                                    ->
    end()
                                ->
    end()
                            ->
    end()
                        ->
    end()
                    ->
    end()
                ->
    end()
            ->
    end();

            return 
    $treeBuilder;
        }
    }
    Wäre Super wenn jemand helfen könnte...


  • #2
    Möglicherweise hilft das weiter:
    https://stackoverflow.com/a/16002815

    Kommentar

    Lädt...
    X