2016-11-23 12 views
2

У меня есть sonatapagebundle и генерируется весь маршрут. Но когда я пытаюсь конфиг сонатных страниц композитора у меня был только ошибка: Нет контейнера, определенный для матрицы области «заголовка»SonataPageBundle Контейнер, определенный для заголовка матрицы «header»

Это может sonata_page конфигурации:

sonata_page: 
    multisite: host 
    use_streamed_response: true # set the value to false in debug mode or if the reverse proxy does not handle streamed response 
    ignore_route_patterns: 
     - ^(.*)admin(.*) # ignore admin route, ie route containing 'admin' 
     - ^_(.*)   # ignore symfony routes 
    ignore_routes: 
     - sonata_page_cache_esi 
     - sonata_page_cache_ssi 
     - sonata_page_js_sync_cache 
     - sonata_page_js_async_cache 
     - sonata_cache_esi 
     - sonata_cache_ssi 
     - sonata_cache_js_async 
     - sonata_cache_js_sync 
     - sonata_cache_apc 
    ignore_uri_patterns: 
     - ^/admin\/ # ignore admin route, ie route containing 'admin' 
    page_defaults: 
     homepage: {decorate: false} # disable decoration for homepage, key - is a page route 
    default_template: default # template key from templates section, used as default for pages 
    templates: 
     default: 
      path: 'ApplicationSonataPageBundle::demo_layout.html.twig' 
      name: 'default' 
      containers: 
       header: 
        name: Header 
       content_top: 
        name: Top content 
       content: 
        name: Main content 
       content_bottom: 
        name: Bottom content 
       footer: 
        name: Footer 
      matrix: 
       layout: | 
        HHHHHHHH 
        TTTTTTTT 
        TTTTTTTT 
        CCCCCCCC 
        CCCCCCCC 
        BBBBBBBB 
        BBBBBBBB 
        FFFFFFFF 

       mapping: 
        H: header 
        T: content_top 
        C: content 
        B: content_bottom 
        F: footer 
     2columns: 
      path: 'ApplicationSonataPageBundle::demo_2columns_layout.html.twig' 
      name: '2 columns layout' 
      inherits_containers: default 
      containers: 
       left_col: 
        name: Left column 
        blocks: 
         - sonata.media.block.media 
         - sonata.media.block.gallery 
         - sonata.media.block.feature_media 
       right_col: 
        name: Right column 
        blocks: 
         - sonata.news.block.recent_posts 
         - sonata.order.block.recent_orders 
         - sonata.product.block.recent_products 
      matrix: 
       layout: | 

        HHHHHHHHHH 
        TTTTTTTTTT 
        TTTTTTTTTT 
        LLLCCCCRRR 
        LLLCCCCRRR 
        BBBBBBBBBB 
        BBBBBBBBBB 
        FFFFFFFFFF 

       mapping: 
        H: header 
        T: content_top 
        L: left_col 
        R: right_col 
        C: content 
        B: content_bottom 
        F: footer 

    # manage the http errors 
    catch_exceptions: 
     not_found: [404] # render 404 page with "not_found" key (name generated: _page_internal_error_{key}) 
     fatal:  [500] # so you can use the same page for different http errors or specify specific page for each error 

Любой идея? С уважением

+0

Может быть, это потому, что вы пропустите пустую строку перед первой строкой 'HHHHHHHH' в разделе по умолчанию – smarber

+0

Нет :(это не помогает до сих пор эта ошибка –

ответ

0

OK Я финансирую то, что было не так. Это правильная конфигурация:

sonata_page: 
    multisite:    host # host 
    use_streamed_response: false # set the value to false in debug mode or if the reverse proxy does not handle streamed response 

    ignore_uri_patterns: 
     - ^/admin(.*) 
     - ^/api/(.*) 

    ignore_route_patterns: 
     - (.*)admin(.*)  # ignore admin route, ie route containing 'admin' 
     - ^_(.*)   # ignore symfony routes 

    ignore_routes: 
     - sonata_page_cache_esi 
     - sonata_page_cache_ssi 
     - sonata_page_js_sync_cache 
     - sonata_page_js_async_cache 
     - sonata_cache_esi 
     - sonata_cache_ssi 
     - sonata_cache_js_async 
     - sonata_cache_js_sync 
     - sonata_cache_apc 

    cache_invalidation: 
     service: sonata.page.cache.invalidation.simple 
     recorder: sonata.page.cache.recorder 
     classes: 
      "Application\Sonata\PageBundle\Entity\Block": getId 

    default_template: default 
    templates: 
     default: 
      path: 'ApplicationSonataPageBundle::demo_layout.html.twig' 
      name: 'default' 
      containers: 
      header: 
       name: Header 
      content_top: 
       name: Top content 
      content: 
       name: Main content 
      content_bottom: 
       name: Bottom content 
      footer: 
       name: Footer 

      matrix: 
      layout: | 

       HHHHHHHH 
       TTTTBBBB 
       TTTTBBBB 
       TTTTBBBB 
       TTTTBBBB 
       CCCCCCCC 
       CCCCCCCC 
       FFFFFFFF 

      mapping: 
       H: header 
       T: content_top 
       C: content 
       B: content_bottom 
       F: footer 

     2columns: { path: 'ApplicationSonataPageBundle::demo_2columns_layout.html.twig', name: '2 columns layout' } 

    page_defaults: 
     homepage: { decorate: false, enabled: true } 
+0

точнее, Probleme. возникает, когда вы делаете это [doc] (https://sonata-project.org/bundles/page/3-x/doc/reference/page_composer.html) , и это замена этого раздела, который решает проблему: 2columns например: '' ' 2columns: {path: 'ApplicationSonataPageBundle :: demo_2columns_layout.html.twig', name: '2 columns layout'} ' '' – Bruno