换了博客主题,左侧那半屏还是默认背景

Blog封面主题 使用文档
Blog封面主题 使用文档

装完主题刷新首页,右侧文章列表已经变成三列瀑布流了,左边那一整块却还是模块自带的示例背景图。要换掉它,得先知道这块区域读的是哪个配置。

Blog 封面主题(BlogThemeCover)是一个只做前台呈现的模块,依赖 Blog。它注册了一个站点模板 cover,视图根指向 module::BlogThemeCover.View,一共只有四个模板文件:frame(外壳)、index(列表)、show(详情)、message(留言)。后台只提供一个设置页,在「博客管理 → 模板设置」里。

页面的骨架是左右分栏

frame.blade.php 里,header 是 position:fixed,宽度 35%,背景图 background-size:cover;右侧 #body 用 padding-left:35% 把内容挤过去。整块左侧从上到下依次是:

  • 头像,读 Blog_Avatar,没配就显示 /placeholder/200x200
  • 站点名 Blog_Name,副标题 Blog_Slogan,没配时分别显示 [博客名] 和 [博客标语]
  • 一排圆形图标按钮:首页、留言、邮箱、微博、微信、QQ、全屏
  • 个人介绍,读 BlogThemeCover_About
  • 底部版权,备案号 siteBeian 加域名 siteDomain

前三项的取值来自 Blog 模块自己的配置,不是这个主题的。很多人装完发现站点名显示成 [博客名],是因为 Blog_Name 没填,去主题设置里找是找不到的。

邮箱、微博、微信、QQ 四个按钮是条件渲染:对应配置为空时按钮不出现,所以菜单长度会不一样。微信和 QQ 点击后没有跳转,只带一个 data-tip-popover 提示,号码要用户自己复制。

PC 首页左侧为固定背景栏含头像与站点信息,右侧为三列瀑布流文章列表

主题自己的两个配置项

设置页上只有两项:

  • 封面背景(BlogThemeCover_Background):图片字段,留空时回退到 vendor/BlogThemeCover/image/bg.jpg,也就是你看到的示例图
  • 个人介绍(BlogThemeCover_About):富文本,1.1.0 版本才加进来的,早期版本这一块是写死在模板里的占位文字

个人介绍走的是 HtmlUtil::text2html,可以换行,但它在 35% 宽的左栏里,字号 0.875rem、颜色 #ccc,写长了会把菜单挤下去。建议控制在三四行以内。

列表页的两条显示规则

index.blade.php 对每篇文章做了分支:

  • 没有摘要且有封面图:只渲染一张图,用 cover-only 的负外边距撑满卡片,标题都不显示
  • 其他情况:标题 + 封面图 + 摘要

也就是说,摘要字段决定这张卡片长什么样。想让列表整齐一些,就给每篇文章都写摘要;想要纯图片墙的效果,就只传图不写摘要。混着来会出现有的卡片只有图、有的有标题,视觉上不统一。

列表用 masonry 布局,配合 imagesloaded,图片加载完会重新 layout。卡片宽度 33%,鼠标悬停时 scale(1.05)。这个悬停放大是写死在模板上的,没有开关。

移动端是另一套

样式里有 @media (max-width:50rem) 断点,屏幕窄于 50rem(约 800px)时:

  • header 从固定侧栏变成静态块,宽度 100%,排在内容上方
  • 底部版权 display:none
  • 列表卡片强制单列

顶部那排圆形菜单在移动端仍然横向居中排列,个人介绍也还在,所以移动端首页会有一段不算短的个人区域在文章列表之前。如果只想要移动端有个正常的博客列表,这个主题不太合适。

移动端首页,个人介绍区在上方,文章列表单列

适合谁

个人博客、设计师作品集、摄影师主页这类「先看到人,再看到内容」的场景,加上文章本身有图,瀑布流列表是能看住的。

不适合内容以长文为主、图片很少的博客:左栏占掉 35% 宽度后正文区只剩 65%,阅读长文时行宽偏窄,而且列表里没有图的卡片就是一块空白。

装完之后

先去 Blog 模块把 Blog_Name、Blog_Slogan、Blog_Avatar 填好,再回到主题设置页换背景图和写个人介绍。主题色不用单独配,模板里读的是全站的 sitePrimaryColor,跟系统设置里的一致。

换完背景图记得在窄屏下再看一眼。背景图是 cover 铺满的,宽屏时露出的是中间部分,窄屏时整块区域变矮,主体内容很可能被裁掉,竖版图容易翻车。

更新: 2026-11-12 15:12:10
QQ
微信
客服