Files
wordpress-theme-aksrt/assets/admin/src/constants/sections/page-display.js
T
kate522andClaude Fable 5 12c11732cb Schema 收口第五轮:补齐 page_display 的 homepage / float-btn 契约
继续 Workstream C,集中处理 page_display 的结构性差异:

- 把原本只是空壳的 `page_display.homepage` schema 补齐为真实契约层:
  复用 HomepageSettings.vue 已在使用的字段(内容模型、主列表、首页 Tab、卡片样式、侧栏与交互),
  不回退旧接口,直接围绕当前最新的 homepage settings 链路补 schema 契约。
- 新增 `page_display.float-btn` 前端 schema section,和 PHP 已存在的 float-btn section 对齐,
  补齐五层中的前端 schema 缺口。
- page-display 路由配置中把 homepage 从 customPage 切回 schemaPage,并新增 float-btn 路由,
  使 page_display 域不再存在“有 PHP section 但无前端 schema page”的断层。
- 对齐 Zibll 默认值:header_layout 从 2 收敛到 1。
- 为 header-components 的 slider_config 子字段补 PHP dependsOn,避免在未启用顶部多功能组件时
  仍平铺暴露幻灯片参数。

验证:
- php -l 通过:class-aksrt-admin-schema-page-display.php
- node --check 通过:page-display/index.js / constants/sections/page-display.js
- shim 校验确认:/page-display/homepage 与 /page-display/float-btn 现在都以 SchemaPage 形式挂接,
  canonicalDomain=page_display,section 分别为 homepage / float-btn

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-07 00:22:19 +08:00

130 lines
4.2 KiB
JavaScript

import { renderFaIcon, schemaPage, customPage } from './helpers'
export const pageDisplaySection = {
key: 'page-display',
label: '页面&显示',
icon: renderFaIcon('fas fa-desktop'),
route: '/page-display',
children: [
schemaPage({
key: 'page-display-header-nav',
name: 'PageDisplayHeaderNav',
label: '顶部导航栏',
route: '/page-display/header-nav',
title: '顶部导航栏',
desc: '导航栏布局、菜单位置、LOGO 与搜索入口配置。',
canonicalDomain: 'page_display',
section: 'header-nav',
}),
schemaPage({
key: 'page-display-background',
name: 'PageDisplayBackground',
label: '全局背景',
route: '/page-display/background',
title: '全局背景',
desc: '配置站点全局背景图、背景色、暗色模式背景和遮罩。',
canonicalDomain: 'page_display',
section: 'background',
}),
schemaPage({
key: 'page-display-menu-decoration',
name: 'PageDisplayMenuDecoration',
label: '菜单装饰',
route: '/page-display/menu-decoration',
title: '菜单装饰',
desc: '配置导航菜单的图标、徽章、下拉样式和图文卡片子菜单。',
canonicalDomain: 'page_display',
section: 'menu-decoration',
}),
schemaPage({
key: 'page-display-header-components',
name: 'PageDisplayHeaderComponents',
label: '顶部多功能组件',
route: '/page-display/header-components',
title: '顶部多功能组件',
desc: '顶部轮播、图标卡片、搜索条、公告条等组件配置。',
canonicalDomain: 'page_display',
section: 'header-components',
}),
customPage({
key: 'page-display-footer',
name: 'PageDisplayFooter',
label: '底部页脚',
route: '/page-display/footer',
title: '底部页脚',
desc: '页脚布局、友链、版权信息配置。',
component: 'FooterSettings',
}),
schemaPage({
key: 'page-display-homepage',
name: 'PageDisplayHomepage',
label: '首页配置',
route: '/page-display/homepage',
title: '首页配置',
desc: '首页内容模型、主列表、分类 Tab 与首页交互配置。',
canonicalDomain: 'page_display',
section: 'homepage',
}),
schemaPage({
key: 'page-display-float-btn',
name: 'PageDisplayFloatBtn',
label: '悬浮按钮',
route: '/page-display/float-btn',
title: '悬浮按钮',
desc: '悬浮按钮的显示规则、样式与滚动隐藏设置。',
canonicalDomain: 'page_display',
section: 'float-btn',
}),
schemaPage({
key: 'page-display-category',
name: 'PageDisplayCategory',
label: '分类页面',
route: '/page-display/category',
title: '分类页面',
desc: '分类归档页的头图、简介、列表模式、侧栏配置。',
canonicalDomain: 'page_display',
section: 'category',
}),
schemaPage({
key: 'page-display-tag',
name: 'PageDisplayTag',
label: '标签页面',
route: '/page-display/tag',
title: '标签页面',
desc: '标签归档页的展示样式与配置。',
canonicalDomain: 'page_display',
section: 'tag',
}),
schemaPage({
key: 'page-display-special',
name: 'PageDisplaySpecial',
label: '专题页面',
route: '/page-display/special',
title: '专题页面',
desc: '配置专题聚合页的封面、摘要、布局、聚合规则和子页面展示策略。',
canonicalDomain: 'page_display',
section: 'special',
}),
schemaPage({
key: 'page-display-user-home',
name: 'PageDisplayUserHome',
label: '用户主页',
route: '/page-display/user-home',
title: '用户主页',
desc: '用户公开主页的布局与展示配置。',
canonicalDomain: 'page_display',
section: 'user-home',
}),
schemaPage({
key: 'page-display-other',
name: 'PageDisplayOther',
label: '其它页面',
route: '/page-display/other',
title: '其它页面',
desc: '404 页面、搜索结果页等其它页面配置。',
canonicalDomain: 'page_display',
section: 'other',
}),
],
}