?
avatar brianteeman
brianteeman
22 Oct 2016

Steps to reproduce the issue

  1. Set article options for blog layout to 1 column and confirm that a menu item set to use the globals (ie no numbers entered in the column field) and check that the blog layout is in one column

  2. Set article options for blog layout to 2 columns and confirm that a menu item set to use the globals (ie no numbers entered in the column field) and check that the blog layout is in two columns

  3. Set the blog layout option in the menu item to 1 column

Expected result

After step 3 it should be in 1 column

Actual result

It is in 2 columns

Additional comment

Basically none of the blog layout settings at the menu level are overriding the settings at the component level

avatar brianteeman brianteeman - open - 22 Oct 2016
avatar brianteeman
brianteeman - comment - 22 Oct 2016

I ran out of battery but I suspect the same is true for all options at the menu level


This comment was created with the J!Tracker Application at issues.joomla.org/tracker/joomla-cms/12519.

avatar zero-24 zero-24 - change - 22 Oct 2016
Labels Added: ?
avatar brianteeman brianteeman - change - 23 Oct 2016
Category Administration Components Templates (site)
avatar brianteeman brianteeman - change - 23 Oct 2016
Labels Added: ?
avatar ghazal
ghazal - comment - 25 Oct 2016

Basically none of the blog layout settings at the menu level are overriding the settings at the component level

Confirmed.

avatar Bakual
Bakual - comment - 25 Oct 2016

It's actually not only the blog layout, it's everytime we merge component parameters with menu parameters, probably anytime we merge registry objects using registry_object->merge($another-registry-object).
I vaguely remember we had this issue once before.

avatar Bakual
Bakual - comment - 25 Oct 2016

@mbabker Do you have an idea what could cause this?

avatar mbabker
mbabker - comment - 25 Oct 2016

There haven't been any changes in the Registry API to cause this.

avatar Bakual
Bakual - comment - 25 Oct 2016

@mbabker Found the culprit: #12395
Apparently registry->loadString() worked also when you passed a registry object, however directly creating the registry object with new Registry() doesn't work with a registry object (doesn't make much sense anyway). It will become some funny Registry->data->data.

See #12557

Closing as we have a PR.

avatar brianteeman brianteeman - close - 25 Oct 2016
avatar Bakual Bakual - change - 25 Oct 2016
Status New Closed
Closed_Date 0000-00-00 00:00:00 2016-10-25 19:52:16
Closed_By Bakual
avatar Bakual Bakual - close - 25 Oct 2016
avatar Bakual Bakual - close - 25 Oct 2016
avatar mbabker
mbabker - comment - 25 Oct 2016

I guess that would make sense since Registry has a __toString() method so it could be typecast by something either in the formatter API or the underlying PHP engine. Either way definitely makes no sense to take a registry, convert it to string, then convert it back.

avatar Bakual
Bakual - comment - 25 Oct 2016

It may be worth to check if there are similar cases in other places of your merged PR.
I'll see if I can take the time tomorrow to look over it.

avatar brianteeman
brianteeman - comment - 25 Oct 2016

Great that you found the cause

avatar brianteeman brianteeman - change - 26 Oct 2016
Labels Removed: ?
avatar Bakual
Bakual - comment - 26 Oct 2016

It may be worth to check if there are similar cases in other places of your merged PR.

There were in fact some: #12571

Add a Comment

Login with GitHub to post a comment