- Issue created by @berdir
- @berdir opened merge request.
- π¨πSwitzerland berdir Switzerland
This now moves everything in theme.inc, but it's a lot: "115 files + 1291 β 775" (the template references add a lot of files, and the BC layer duplicated documention results in a lot of additional lines being added but that's mostly temporary)
I kept pager in a separate commit so far (has its own pretty large unit test that requires a lot of changes and it's a lot of code) and field preprocess as well (also a lot of code, references from other preprocess functions and a internal but used sort callback, see MR review).
My proposal would be to split those two up into separate issues. They will all conflict due to uses in theme.inc and ThemeCommonElements, but not much more I think.
There's also a question about internal vs final, especially those generic template preprocess functions like table and container are fairly frequently used in contrib. For me, being able to have them final and not worry about constructor BC is much more helpful then the public API of them, about the only thing that could happen is that we deprecate a template I think, then we could just deprecate it and let it be there.
- πΊπΈUnited States smustgrave
it is a lot, even though it's shuffling things around would it be worth breaking up?
- π¨πSwitzerland berdir Switzerland
Yes, as mentioned in #4, I've now split off π Convert template_preprocess_pager() Needs review and π Convert field template_preprocess functions in theme.inc Needs review now. I did add authorize report, it's trivial with only two uses and no dependencies and it helps π Remove 'includes' support from hook_theme() Postponed
That removes the two most complex cases and about a third of the size off this one.
I did my best to not include any changes except DI and required reflowing of some comments due to the changed length limits due to them being two spaces more nested. Try using
git diff 11.x --color-moved=dimmed_zebra --color-moved-ws=ignore-all-space`
to review these issues. It should mark all lines that were just moved and not changed otherwise grey. Doesn't work for the docblocks because those are copied and there don't seem to be any options to highlight that. - πΊπΈUnited States smustgrave
This one appears to have pipeline issues.
If you are another contributor eager to jump in, please allow the previous poster(s) at least 48 hours to respond to feedback first, so they have the opportunity to finish what they started!
- π¨πSwitzerland berdir Switzerland
Pipelines have issues, that's not the fault of this issue, unit tests not passing only on 8.4 is _extremely_ unlikely to be a real issue.
The Needs Review Queue Bot β tested this issue. It no longer applies to Drupal core. Therefore, this issue status is now "Needs work".
This does not mean that the patch necessarily needs to be re-rolled or the MR rebased. Read the Issue Summary, the issue tags and the latest discussion here to determine what needs to be done.
Consult the Drupal Contributor Guide β to find step-by-step guides for working with issues.
- πΊπΈUnited States dww
I think this needs a rebase and resolving some merge conflicts after π Finish deprecating 'Update Manager' related code in Update Status Active landed.
- Status changed to Needs work
10 days ago 5:56am 27 June 2025 - π¨πSwitzerland berdir Switzerland
Soft blocked on π Convert template_preprocess_pager() Needs review , will rebase then to avoid further conflicts with that.
- π¨πSwitzerland berdir Switzerland
Rebased this as pager got in.
I skipped authorize_report as that's already deprecated now. We might want to move that into theme.inc in to so we can deprecate the file key, but no point in moving it to a service now.
Reminder: --color-moved is really useful to review this one, see https://www.md-systems.ch/en/blog/techblog/2011/08/22/git-aliases. all lines that are grey can be mostly ignored then as they haven't changed.
Added template_preprocess_tablesort_indicator() as that was recently added.
Also noticed that template_preprocess_pager() got in with inconsistent deprecation version number, fixed on 11.2 there.
- πΊπΈUnited States nicxvan
This is ready!
I ran
git diff 11.x --color-moved=dimmed_zebra --color-moved-ws=ignore-all-space
I've attached an example of what it looks like.I confirmed each deprecation was 11.3 -> 12.0
I confirmed each was __FUNCTION__
I confirmed the service called matched the template function
I confirmed the comments updated from the correct template function to the new location.The class split makes sense to me.
I checked the changes were all around line length, t() and DI.
There was a test or two that directly called the template function that were updated.I checked in the MR and here that the hook theme updates set the right location for each initial preprocess.
- πΊπΈUnited States nicxvan
Attached the screenshot to show an example of the output and how it's easy to see what changed.
- π¬π§United Kingdom catch
git diff 11.x --color-moved=dimmed_zebra --color-moved-ws=ignore-all-space
This is a new one on me, very nice!
Committed/pushed to 11.x, thanks!