Skip to content

[3.0] Gives the other two copies of the header the same wrapper - #9426

Merged
live627 merged 1 commit into
SimpleMachines:release-3.0from
albertlast:3.0/header-wrapper-copies
Aug 9, 2026
Merged

[3.0] Gives the other two copies of the header the same wrapper#9426
live627 merged 1 commit into
SimpleMachines:release-3.0from
albertlast:3.0/header-wrapper-copies

Conversation

@albertlast

Copy link
Copy Markdown
Collaborator

Description

Three places build the page chrome: index.template.php, Themes/default/MaintenanceTemplate.php, and the XSLT in Sources/Tasks/ExportProfileData.php. The last two load the real index.css, so a selector change in it has to be mirrored in both.

When #9373 moved the top bar into the header, the flex row became #header .content_wrapper — the class moved off #header and onto a div inside it. The other two copies kept it on #header itself:

<div id="header" class="content_wrapper">   // maintenance page, profile export

so the selector never matched there and neither header got the row. Measured by injecting both structures into a page carrying the real stylesheet, at 1280px:

width height inner display title logo
<div id="header" class="content_wrapper"> 1140 119 block x=3, y=7 x=3, y=71
<header id="header"><div class="content_wrapper"> 1281 93 flex x=66, y=23 x=925, y=36

The second row is what the forum's own header measures. The first is a band that stops short of the page edges with the logo stacked under the title.

Both now use the same <header id="header"><div class="content_wrapper"> as index.template.php. The XSLT fragment was checked for well-formedness after the edit, and both files pass php -l.

Found while looking into #9423, but it is a separate defect from the one in #9425 — that one is the CSS leftovers, this one is the markup.

Issues References (Fixes|Related|Closes)

Related #9423
Related #7933

The maintenance page and the profile export build their own copies of the
page chrome, and both put content_wrapper on the header itself rather than on
a div inside it. That was right when the header was the wrapper, but it stopped
being true when the top bar moved in: the flex row is #header .content_wrapper,
which needs the inner div, so neither of those two got it.

The visible result was a header that did not span the page and stacked its
title above its logo instead of putting them at either end.

Signed-off-by: albertlast <mathiaspapealbert@hotmail.com>
@live627
live627 merged commit bb00fa0 into SimpleMachines:release-3.0 Aug 9, 2026
4 checks passed
@jdarwood007 jdarwood007 added this to the 3.0 Alpha 5 milestone Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants