Regions are added using the layout yml, e.g. flex-builder.markup.yml, when the cache is cleared and the theme settings saved the info.yml file updates it's region declarations, however for dependant skin themes the region declarations in it's info.yml is not updated - this is a major WTF.

It can be worked around by manually updating, e.g. copy the new region declarations from your sub-themes info.yml to the skin theme - however doing this programatically for each dependant skin theme would be much preferred.

To make it clearer how this bug works:

flex-builder.markup.yml -> themer adds a new region, e.g. a header top region:

  header:
    attributes:
      role: banner
      id: masthead
    regions:
      header_top:
        label: 'Header top'
        order: 1
      header_first:
        label: 'Header first'
        order: 2
      header_second:
        label: 'Header second'
        order: 3

Themer clears the Drupal cache and saves the Layout settings in their theme -> this rewrites the themeName.info.yml file with the new region...

regions:
  leaderboard: Leaderboard
  header_top: 'Header top' # <------ heres the new region
  header_first: 'Header first'
  header_second: 'Header second'

Now... if you have a Skin theme it needs to update its regions in skinName.info.yml also, but it doesn't, so that new region never shows up in block config (etc) for the Skin theme.

Comments

Jeff Burnz created an issue. See original summary.

Jeff Burnz’s picture

Issue summary: View changes
Jeff Burnz’s picture

Issue summary: View changes

  • Jeff Burnz committed 5be7699 on 8.x-1.x
    Issue #2844383: Skin themes do not update regions when the base themes...
Jeff Burnz’s picture

Status: Active » Fixed

  • Jeff Burnz committed 5be7699 on 8.x-2.x
    Issue #2844383: Skin themes do not update regions when the base themes...

Status: Fixed » Closed (fixed)

Automatically closed - issue fixed for 2 weeks with no activity.