In layout_plugin, we recently committed a change to LayoutBase::build($regions) to make it's implementation more closely match what the documented API of that method is, which is that it takes an array of render arrays keyed by region name. Previously, we were cheating a little and allowing $regions to be a render array whose properties got passed into the returned render array.

Here's the issue:

#2804093: LayoutBase should enforce the API by ignoring any render array keys at the top level

Unfortunately, it looks like DS was taking advantage of the old implementation, and a user reported that the change broke DS!

However, it's a pretty easy fix - we just have to explicitly merge the original render array with the render array returned from LayoutBase::build() and everything starts working again. :-) I'll upload a patch in a moment.

Comments

dsnopek created an issue. See original summary.

dsnopek’s picture

Status: Active » Needs review
StatusFileSize
new510 bytes

Patch is attached!

dsnopek’s picture

StatusFileSize
new1.59 KB

Here's a slightly more sophisticated version of that, which actually makes a $regions array that is consistent with the API, rather than depending on LayoutBase::build() behavior of now enforcing the API. This is a little forward thinking for the eventual layouts that don't descend from LayoutBase!

  • aspilicious committed 3664c3d on 8.x-2.x authored by dsnopek
    Issue #2808629 by dsnopek: Update for changes to LayoutBase::build()
    
aspilicious’s picture

Status: Needs review » Fixed

Status: Fixed » Closed (fixed)

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