You can use the system chromes but not the chromes from other templates. If you select one it´s just ignored and no module container set at all.
This is a issue for me when doing a relaunch of an existing template and just roll it out on some sites. When the modules have the mod_chrome from the other chrome selected in their module parameters the view is broken.
In the module Parameters:
The module chromes should work crosstemplate wise.
Possible solutions:
Joomla 3.8 but the error exists longer - just took the time to figure out why the chrome breaks.
Labels |
Added:
?
|
Category | ⇒ | com_modules |
Ok imagine you have a template that has a module chrome named abcdef. You duplicate the template and it has the same module chrome. Some modules have chrome abcdef assigned in their parameters. It's the same in the old and the new template. But it stops working at this point and is broken. However if you select a system chrome from the list it does not stop working.
Joomla stores the name of the template with the name of the chrome in the db eg Beez3-beezTabs That is why it stops working - i kind of expect that to be the case. If it wasnt what would happen when you have completed the work on the new template and delete the old one - all your chromes are broken ;)
System chromes are by there very nature system wide so if selected they will always work independent of the template selected
No, actually the assignment to the chrome would be lost then in case of a template migration i would need to select the chromes everywhere. But that's not my issue. I have to refactor the template step by step, just because... And it's just an example. Could be that two independent templates use the same Chrome names, why should it be an expected behavior that the
output is broken then?
Btw Alternate Layouts do work cross templates.
Status | New | ⇒ | Discussion |
Labels |
Added:
J3 Issue
|
@coolcat-creations can you please see #24456 (comment) by @mbabker?
Status | Discussion | ⇒ | Information Required |
There is an error if you name a module chrome same like the system template so if the same error is fired when using cross templates people will at least understand where the "bug" comes from. Thats the solution I would propose.
Second solution would be that there is only one modules.php from the system and it's overriden completely with the modules.php in the html folder. That would at least follow a part of the override logic in Joomla. But unfortunately it would break probably some templates because the override modules.php needs to carry the system functions if the template uses them.
@franz-wohlkoenig
In J3 it's probably not possible to solve.
In J4 we changed the chromes to use JLayouts and it already works the way you want it (I think).
@saraheagle That's already merged into 4.0
@brianteeman can this Issue be closed?
No new features in 3.10
As its not going to be changed in j3 and it is resolved in j4 then yes you can close it
Ok @franz-wohlkoenig somewhere where B/C changes are documented this will be something that will break lots of templates so it has to be written somewhere in the upgrade informations.
@franz-wohlkoenig yes but that are two things. Dokumentation Required vs. Ugrade Warnings... or not?
Sorry, i read "documented" and "written somewhere" and looked at Label.
Yes sorry - formulated it wrong... Is there any document which collects all B/C breaks?
https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_4
I did a quick search so maybe theres another doc or more is planned.
Yep, this has to be added to that BC issues doc. And best with a link to my PR or some other explanation how it works.
Templates that want to support bot J3 and J4 can already add those new JLayouts. In j3 they will just be ignored. When migrating to J4, the JLayout will then work and the modules.php will just be ignored.
@coolcat-creations The JLayouts will not work in 3.10. Brian said that correctly. It will only work with 4.x.
However you can write a template which works both in 3.x and 4.x by adding both the current modules.php and the new JLayouts. That's what I meant.
Got it, thanks!
Status | Fixed in Code Base | ⇒ | Closed |
Closed_Date | 2020-03-11 16:17:21 | ⇒ | 2020-03-11 16:17:22 |
Closed_By | jwaisner | ⇒ | joomla-cms-bot |
Status | Information Required | ⇒ | Fixed in Code Base |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2020-03-11 16:17:21 |
Closed_By | ⇒ | jwaisner |
Set to "closed" on behalf of @jwaisner by The JTracker Application at issues.joomla.org/joomla-cms/17953
As this has been fixed in J4 and is confirmed to not be resolvable in J3. Closing this entry.
Yep, this has to be added to that BC issues doc. And best with a link to my PR...
Done: https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_4#Modules
I dont follow you here. I wouldnt expect the module chrome (or an alternative component layout) from template 1 to work with template 2