Fixed
Project:
Drupal core
Version:
main
Component:
Admin theme
Priority:
Major
Category:
Bug report
Assigned:
Issue tags:
Reporter:
Created:
11 Sep 2026 at 15:25 UTC
Updated:
18 Sep 2026 at 13:27 UTC
Jump to comment: Most recent, Most recent file
Comments
Comment #3
smustgrave commentedComment #4
godotislateThis came about because
ginhasbase theme: claroanddefault_adminhasbase theme: false. We might need to double check whether there are other claro templates, etc that need to be copied into default_admin as well.Comment #5
quietone commentedComment #6
smustgrave commentedI’ll run a retro check focusing on the classy folder.
Fair assumption we’d rather add first and remove or alter unneeded ones later?
Comment #7
godotislateComment #8
godotislateI think that's best answered by an FEFM or the admin theme maintainers.
Comment #9
gábor hojtsyIn what backend situation does this theme need these templates?
Comment #10
smustgrave commentedA number of claro tests fail when switching to default admin because of missing stuff like this. Can update the tests to just pass but I don’t think that makes the tests any better
Comment #11
nicxvan commented#9 won't this be the only theme shipped with core moving forward? So it's technically not just backend right?
Comment #12
oily commentedThe README.txt inside the classy templates folder:
"WHAT IS THIS DIRECTORY FOR?
--------------------------------
This directory is for templates previously inherited from the Classy theme.
WHY WERE CLASSY TEMPLATES COPIED HERE?
-------------------------------------------
Classy was removed in Drupal 10. To prepare for Classy's removal, templates that
would otherwise be inherited from Classy are copied here."
So, I assume the same procedure needs to be followed 'To prepare for...' Claro's removal?
Comment #13
oily commentedTried removing the classy directory from claro templates. Not getting any WSOD. Themes seem working okay. I assume there was a preprocess? function in Claro theme during removal of classy that wired up the classy directory. Once the removal of classy was complete, that function was removed. So possible clean up of Claro by removing Classy folder as first task eg create a child issue?
Comment #14
nicxvan commentedWhy would you get a WSOD?
Also confused by this, what would a preprocess function do?
I think this issue is more what to do about the field templates in default_admin than in claro.
Comment #15
oily commentededit: Re: #14 On closer inspection claro/templates/classy/field contains 13 templates. claro/templates/field and default_admin/templates/field only contain 1. So copy those 13 templates into some directory in default_admin theme.
Comment #16
nicxvan commentedA missing template will not WSOD it will just use a less specific template.
Also the loading of template overrides is core functionality as long as it's in a theme it will load, there is no custom code for that.
The classy folder still works in claro.
This issue is about whether we need similar templates in default admin.
Comment #17
oily commentedI am not up with latest theming. But to create a new subfolder inside a theme's templates and get the templates inside it to override depends on the name of the templates. But for the subfolder to be 'recognised' by the theme is there a function needs to be created? Not sure there is anything inside the templates that will need editing.
Comment #18
oily commentedThe current steps to reproduce are not reproducing the issue. The issue is that certain tests are failing.
Comment #19
smustgrave commentedAppreciate trying to look into it but maybe follow this one and observe? if you’re not familiar with twig templeting. Everyone else seems to have a grasp on the goal/issue the rest is just causing noise while we try and figure if anything needs to actually be done or if this is by design.
Thanks
Comment #20
oily commentedSet default_theme to default theme. Ran drush command to create article content type. Created a test article with body field. Created an article with the word 'test' in the body field. Currently the field markup is:
<div><p>test</p></div>After I copied the field templates from classy subdirectory of claro theme into default_theme/templates/field directory:
<div class="clearfix text-formatted field field--name-body field--type-text-long field--label-hidden field__item"><p>test</p></div>Comment #21
oily commentedRe: #19 Maybe you should try #20 and see if the tests work?
Comment #22
oily commentedRe: #19 I am not sure anyone really knows that the issue is let alone what needs doing on it.
Comment #23
nicxvan commentedExactly, that is what this issue is trying to decide if we need to do.
Or if the lack of classes is acceptable.
Comment #24
smustgrave commentedI'm actually begging now if you don't understand the ticket can you please leave it. It's causing noise for a critical ticket and I don't want to spin up a clone issue without the noise. It's very much appreciated but there are 300+ issues in review maybe help one of those please.
Comment #25
oily commentedRe: #24:
Right.
Comment #26
oily commentedRe: #23:
and #24
I am setting this to Postponed to prevent more 'noise' and pending framework manager/ subsystem manager review.
This is at Needs work. What work needs doing? If there is, please flip back to Needs work and specify what work needs doing from this point on.
I am a certified Symfony 6 developer. The exam covers Twig templating. I have professional experience of theming Drupal 8+.
Comment #27
oily commentedComment #28
quietone commentedWhile no work is needed on the MR, this still needs discussion.
Comment #29
quietone commentedAdding a summary of a slack discussion, https://drupal.slack.com/archives/C079NQPQUEN/p1789139357811479,
with smustgrave, jergenhaas, godotislate, joachim, catch, Steven Jones, Gábor Hojtsy, KentR and mstrelan.
Converting some tests from Claro to Default Admin hit a snag where divs in Default Admin do not have field classes but Claro does. jurgenhaas thought this was a bug, and the solution seemed to be to copy over the necessary templates. Then it was questioned if a back end theme needs those templates at all. There wasn't disagreement on that point. godotislate suggested changing the tests to search for the field content in the page, an idea catch agreed with.
So, for now this is a won't fix.
Comment #30
oily commentedRe: #29
I followed the steps to reproduce on a vanilla Drupal 12 site and 'the field content' is present and visible. The attributes inside the div tags are missing.
So will the attributes be needed if 'godotislate suggested changing the tests' happens?
If not then we should change this issue's (current) status to Closed (won't fix).
If the attributes are going to be needed then we need an IS update to explain why.
Comment #31
smustgrave commentedThanks @quietone!
Comment #32
mherchelMy opinion is that I don't think there's no harm adding the template. If people used it in Claro, they'll want the same functionality in Admin. No hard reason not to put them in 🤷♂️
If we decide to put this in, I'd like to run a visual regression test using https://github.com/mherchel/ddev-drupal-admin-vrt
Comment #33
smustgrave commentedThanks Mike I'll get you some screenshots.
Comment #34
oily commentedComment #35
smustgrave commentedOily please leave this ticket alone man you are not helping. This is a potential blocker for claro being removed so critical makes sense
Comment #36
oily commentedRe: #35 If so, explain how and update the IS. #29 shows that catch and godotislate agreed that the content of the fields is all that is needed for the tests to work because the tests will be re-written to depend only on the content of the fields, not the div attributes which is what this issue is all about.
Comment #37
oily commentedThat sound like a feature request, not a bug.
Comment #38
smustgrave commented@mherchel pushed your suggestion thanks!
Before (both inline and above setting)
After

Markup is now easier to work with too.
Comment #39
smustgrave commentedComment #40
oily commentedRe: #4
That is a lot more work. Do we need a follow-up or within scope?
Comment #41
oily commentedNew title something like: Add missing templates to default admin theme and adjust CSS styling
Comment #42
jurgenhaasMy take is that we need to bring Classy templates back, not just the field template.
Our original intention, when we moved Gin into Core with #3556948: Merging Gin as Admin theme, was to merge all inherited templates into Gin's template directory to maintain the same behavior as before, The plan had been to clean-up the templates, including their directories, names, attributes, etc. in a follow-up step, but we didn't fully address that yet.
Then, #3582018: Remove or move the uses of classy templates in default admin theme happened, and I didn't pay attention back then. As part of that clean-up effort, all those intentionally included templates got removed, except for three of them. All others have been removed.
My take is, we should bring them all back to maintain the same behavior, unless default_admin covers a removed template already. 43 templates got removed, 3 (block, page, and region) got moved to their correct places.
I think we should take the effort and analyze those 43 and decide individually, if and how much of them needs to be migrated.
Comment #43
oily commentedRe: #42 jurgenhaas, If you check the current MR you will see that not only have the classy field templates been copied but css/ pcss files also. And then those files have been edited. Were those css-related tasks your 'original intention'? That could potentially involve a lot of additional work. So is this going to delay the removal of Claro? Do we need to do the work you mention in #42 only before removal of Claro? Or do we also need to also copy and edit all related css/pcss files?
Comment #44
smustgrave commentedThanks jurgenhaas on it!
Comment #45
oily commentedComment #46
jurgenhaasThank you @smustgrave, great job.
@oily re #43, yes, the css recovery is part of this template recovery. And @smustgrave has covered that nicely. And no, I don't see any reason for a Claro removal delay. The work on default_admin ensures, that it has no dependencies on neither Claro nor anything else from the former chain. And while we now may have some redundant components in default_admin, we're not missing anything from the existing functionality, with or without Claro. So, subsequent clean-ups can be performed on default_admin, but Claro can be removed, at least with regard to this issue's scope.
Comment #47
smustgrave commentedComment #48
oily commentedRe: #46 Danke, jurgenhaas.
The current IS states:
Downgrading to edit: Major.
Comment #49
oily commentedComment #50
smustgrave commentedThanks @jurgenhaas again, saving credit for work so far.
Comment #51
oily commentedRe: #42 I see a downside to copying the same templates of these old admin themes. It seems the goal is to reproduce the same 'look' also by preserving the same layout of elements bolding etc and also assets like .svg's.
But if that is our goal, users of the default admin theme will get a strong sense of deja vu. They will instinctively feel they are using classy or gin or claro. The UX effect does not therefore seem good. Pouring new wine into old bottles, so to speak.
Should we not swap out at least the more prominent .svg's with new ones. Sort of like creating a few landmarks that tell the user they are in a brand new admin theme? Or do we have such 'landmarks' in place already?
Comment #52
jurgenhaas@oily the objective has been to bring Gin into core. So, if the result looks like Gin, there is nothing wrong with that. However, we have a lot of folks working on significant improvements for that foundation. And what we'll get will be the best admin theme ever. But that work would be disrupted if foundational components were just missing.
Comment #53
oily commentedRe: #52 @jurgenhaas Ah, interesting.
So the CSS edits in the MR for this issue are/ should be to create a sound baseline? To exclude browser errors only? The 'visual regression test' tool mentioned at #32 is that a good way to evaluate the code in this issue? Else how does a reviewer decide that the CSS is good and ready for RTBTC?
Comment #54
nitinkumar_7 commentedi think bringing these templates back makes sense, especially if they were already being used through Classy/Claro before.
Comment #55
nitinkumar_7 commentedJust wondering, after this is merged, do we plan to go through these templates and CSS one by one and remove the ones that Default Admin doesn't really need? Or would that be better as a separate issue?
Comment #56
jurgenhaas@oily, re. #53 and #54 this issue is to restore what was lost a few months ago. And in separate issues, the UX and CSS cleanup is under way already. That's not within scope for this issue.
Comment #57
jurgenhaas@nitinkumar_7, I'd like to leave that to @mherchel who is leading that effort.
Comment #58
dcam commentedI reviewed the MR by comparing the templates being added to those that were removed by #3582018: Remove or move the uses of classy templates in default admin theme. I feel that the issue summary needs a little clarification that we aren't simply reverting the changes from #3582018. It appears that we're copying those removed templates from Claro, as well as any attached libraries. This is fine and appropriate because those templates have been updated over time with minor changes by projects like OOP preprocess hooks. But the IS made it sound like this is more of a reversion. I've updated the Proposed Resolution to reflect what's actually being done.
Otherwise I couldn't find anything to comment about. The changes shown in the diffs were minor, mostly caused by routine updates. There were no major changes to the HTML structures.
This is still pending FFM review, so I can't RTBC it, but it gets an RTBC+1 from me.
Comment #59
smustgrave commented@dcam thanks! I gotchu
Comment #60
smustgrave commentedComment #61
dcam commentedIt was suggested that maybe I could RTBC it while an FFM is pinged for a final check. So here we go.
Comment #62
smustgrave commentedThanks. I’ll address those this evening for sure
Comment #63
mherchelThere's a lot in here. I tested everything (I think), especially media library.
There's some styling bugs on the managed file UI, and I'm about to open up a separate issue that I noticed.
Comment #64
smustgrave commentedFeedback addressed
Comment #65
bernardm28 commentedHere is a before pic -
This is what i did:
After checking this PR out, I cleared the cache.
This PR works as expected and removes the need for claro.
Comment #66
larowlanSome questions on the MR - the logical property might be blocking per @mherchel comment above
https://git.drupalcode.org/project/drupal/-/merge_requests/17092#note_28...
Comment #67
mherchelYeah, a lot of this is old CSS copied over from Classy or wherever. Should be easy enough to fix.
Comment #68
smustgrave commentedResponded to the feedback thanks @larowlan
Comment #69
needs-review-queue-bot commentedThe Needs Review Queue Bot tested this issue. It fails the Drupal core commit checks. 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.
Comment #70
smustgrave commentedFalse bot
Comment #71
bernardm28 commentedLooks good. I looked at the code changes and they seem to take into account most concerns.
Plus, I downloaded the new commits and did a quick visual pass and switched the window to RTL.
Comment #72
mherchelThere's one minor valid that @larowlan flagged. Instead of using
background-imageon every selector, you can use the base selector (which should be.file)Comment #73
smustgrave commentedDone!
Comment #74
smustgrave commentedFixed stylelint
Comment #75
nicxvan commentedOk I reviewed this pretty closely, I think all feedback has been addressed. I then went through each template.
The three search ones were not moved, but that seems correct.
media-embed-error.html.twig also was not moved, is that intentional?
Everything else exists in both so I think we're good.
I did see some rss templates, and toolbar, but removing those are likely out of scope here.
I think this is good once we answer about the error.
I did wonder why the file css was the only library that we had to add, the others already exist, but that's not a mystery we really need to solve.
Comment #76
gábor hojtsyI can't answer @nicxvan questions, but did my own review and found two things:
node.html.twigwas attaching a missing library. Removed.file.pcss.cssandfile.csswas missing RTL styling. Added.Comment #77
mherchelIt's entirely possible there were libraries that existed, but never got called. There's still a whole lotta of cruft that came over from Seven>Claro>Gin that needs to be cleaned, but doing so isn't a stable blocker.
We have an issue to clean up the libraries file.
Comment #78
nicxvan commentedTurns out skipping
media-embed-error.html.twigwas intentional: https://git.drupalcode.org/project/drupal/-/merge_requests/17092#note_28...@gabor's change looks good too!
Comment #80
mherchelCommitted and pushed 04225dd3315 to main. Thanks!
Comment #82
mherchel