Tab order with extend layout


#1

I have a default layout for tabs

tabs:
    content:
        ...

    seo:
    ... 

Then I call it in the blueprint:
extends: layouts/default

This works fine, when i have just one tab, but when I have two tabs the seo tab is shown in position two - how can I have the seo tab always the last tab?


#2

I don’t think you can when you extend the layout because what you add after it gets appended, which means the SEO tab cant ever be last because your technically declaring stuff after it.

I solved it by making the tabs reusable, rather then the layouts… that way you can extend the tabs if you need to rather then the layout… heres my default page yml…

title: Default

options:
  changeTemplate:
    - sidebarright
    - sidebarleft
    - widecontent
    - mediaset

tabs:

  # CONTENT
  content: tabs/content

  # HERO
  hero: tabs/hero

  # SEO
  seo: tabs/seo

  # PUBLISHING
  publish: tabs/publishing

#3

thanks, that setup works better for me anyway I think.


#4

It’s pretty versatile. I have a whole bunch of tabs that i can just plug in and out and you can override stuff in them quite easily. For example, on my site.yml two of the SEO fields in that tab don’t apply to the site so I hid them and adjusted the width of the one that was left…

title: Site

tabs:

  # Pages
  pages:
    label: Site Content
    icon: document
    preset: pages
    unlisted: true

  # SEO
  seo:
    extends: tabs/seo
    columns:
      left:
        width: 1/3
        sections:
          seocontent:
            fields:
              seotitle:
                label: Site Title
                width: 3/3
              menutitle:
                type: hidden
              seometa:
                type: hidden

  # Branding
  branding: tabs/branding

  # Social Media
  social: tabs/socialmedia

  # Site Files
  sitefiles: tabs/filestiles