diff --git a/assets/css/routes/forum.css b/assets/css/routes/forum.css index a1f711d0..d1cf57eb 100644 --- a/assets/css/routes/forum.css +++ b/assets/css/routes/forum.css @@ -67,9 +67,6 @@ .hide-type-drop .select-drop-box .badg.active{--this-bg:var(--focus-color);--this-color:#fff} .hide-type-drop textarea{margin-top:8px;width:100%} .jio-forum__captcha{margin-bottom:15px} -.forum-home .jio-widget-box{clear:both;background-color:var(--main-bg-color);padding:15px;box-shadow:0 0 10px var(--main-shadow);border-radius:var(--main-radius);margin-bottom:20px} -.forum-home .jio-widget-box .btn-block{display:block;width:100%;text-align:center} -.forum-home .jio-widget-box .title-theme{font-size:15px;font-weight:600} .quick-posts-form .form-control{width:100%} .quick-posts-form select.form-control{width:auto;min-width:140px} .quick-posts-form .jio-forum__message:empty{display:none} diff --git a/src/Forum/EditView.php b/src/Forum/EditView.php index 0eb10ab6..3e06df0f 100644 --- a/src/Forum/EditView.php +++ b/src/Forum/EditView.php @@ -28,7 +28,8 @@ final class EditView { echo '
'; if ($user_id <= 0) { echo jio_get_null('请先登录后再发布', 40, 'null-user.svg') . '

登录

'; - echo '
'; + echo ''; // editor-main-box + echo ''; + // content-layout, content-wrap, sidebar, container, form, main. + echo ''; get_footer(); } } diff --git a/src/Forum/HomeView.php b/src/Forum/HomeView.php index b527a467..94026995 100644 --- a/src/Forum/HomeView.php +++ b/src/Forum/HomeView.php @@ -17,9 +17,9 @@ final class HomeView { \Jio\WidgetSystem\WidgetAreas::render('forum_home_top_fluid', 'fluid-widget-wrap'); echo '
'; HomeTabs::render(); - echo '
'; - self::sidebar(); echo '
'; + self::sidebar(); + echo ''; \Jio\WidgetSystem\WidgetAreas::render('forum_home_bottom_fluid', 'fluid-widget-wrap'); if (get_current_user_id() > 0 && (Access::is_admin(get_current_user_id()) || jio_get_setting('jio_forum_user_plates', true))) { self::plate_dialog(); diff --git a/src/Forum/ListingView.php b/src/Forum/ListingView.php index bb2075ab..45ab9445 100644 --- a/src/Forum/ListingView.php +++ b/src/Forum/ListingView.php @@ -13,8 +13,7 @@ final class ListingView { self::term(); return; } - self::open($plate->post_title, 'plate', $plate); - \Jio\WidgetSystem\WidgetAreas::render('forum_plate_top_fluid', 'fluid-widget-wrap'); + self::open('plate'); echo Cards::plate_header($plate); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo self::tab_bar($plate); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped self::close('plate'); @@ -24,12 +23,11 @@ final class ListingView { public static function term(): void { $term = get_queried_object(); if (!$term instanceof \WP_Term) { - self::open('论坛', 'term', null); + self::open('term'); self::close('term'); return; } - self::open($term->name, 'term', null, $term); - \Jio\WidgetSystem\WidgetAreas::render('forum_term_top_fluid', 'fluid-widget-wrap'); + self::open('term'); echo self::term_header($term); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo self::tab_bar(null, $term); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped self::close('term'); @@ -41,15 +39,17 @@ final class ListingView { . ''; } - private static function open(string $title, string $context, ?\WP_Post $plate, ?\WP_Term $term = null): void { + /** `main.container` holds `.content-wrap` and `.sidebar` as siblings; the float math depends on it. */ + private static function open(string $context): void { echo '
'; + \Jio\WidgetSystem\WidgetAreas::render('forum_' . $context . '_top_fluid', 'fluid-widget-wrap'); echo '
'; } private static function close(string $context): void { - echo '
'; - self::sidebar($context); echo '
'; + self::sidebar($context); + echo ''; \Jio\WidgetSystem\WidgetAreas::render('forum_' . $context . '_bottom_fluid', 'fluid-widget-wrap'); echo '
'; } diff --git a/src/Forum/PostView.php b/src/Forum/PostView.php index e6331014..7bb30571 100644 --- a/src/Forum/PostView.php +++ b/src/Forum/PostView.php @@ -17,8 +17,9 @@ final class PostView { $user_id = get_current_user_id(); $can_view = Access::can_view($user_id, $id); - echo '
'; + echo '
'; \Jio\WidgetSystem\WidgetAreas::render('forum_post_top_fluid', 'fluid-widget-wrap'); + echo '
'; echo '
'; echo self::fixed_actions($post); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped echo '
'; @@ -37,8 +38,7 @@ final class PostView { } do_action('bbs_posts_page_content_bottom'); echo '
'; - \Jio\WidgetSystem\WidgetAreas::render('forum_post_bottom_fluid', 'fluid-widget-wrap'); - echo '
'; + echo '
'; if (jio_is_show_sidebar()) { echo ''; } - echo '
'; + echo ''; + \Jio\WidgetSystem\WidgetAreas::render('forum_post_bottom_fluid', 'fluid-widget-wrap'); + echo ''; } /** Desktop left rail: score group, favorite and share (reference `.single-fixed-btns`). */ diff --git a/tools/admin-contract-report.json b/tools/admin-contract-report.json index c68b05c8..209c04cf 100644 --- a/tools/admin-contract-report.json +++ b/tools/admin-contract-report.json @@ -1,5 +1,5 @@ { - "generated_at": "2026-11-11T10:06:02+00:00", + "generated_at": "2026-11-11T10:25:09+00:00", "errors": [], "warnings": [ "customPage tools-update section 'tools/update' not in PHP schema (ok if pure operational page)",