[4.0] Keep Script/Style Declarations as an array instead of merge to one string #25357
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of Changes
Keep Script/Style Declarations as an array instead of merge to one string.
For long time
JDocument
merge all Script/Styles declarations to a single string, which not allow to use it for stuff liketype="module"
(which hasimport
statement), or micro-datatype="application/ld+json"
, and for other types that get broken when they merged.This patch introduce a little B.C. (for extensions which use
$doc->_script
directly) but I think it not very critical, and better we do it now than never.Additionally after little changes in #25301 this patch will allow to remove specific Script/Styles declarations without parsing whole
$doc->_script/_style
.Testing Instructions
Apply the patch and make sure all still works as before.
Documentation Changes Required
This is potential B.C. and need to be described https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_4
The
Document::_script
,Document::_style
store Script/Styles declarations as an array, instead of string.