副标题允许为空:清空后前台不再回退显示默认文案

根因:setting() 把「空串」当成「从未配置」,于是后台删掉副标题后前台照样
显示默认的「个人网站导航」——删不掉。

改动:
- config.php: setting() 改为「只有键不存在才回退 default」;空串是一等公民。
  site_name() 改为唯一显式「空则回退 APP_NAME」的设置(页面不能没名字)。
- index.php: 副标题按空串读取(默认值取 ),hero 与 <title> 两处都判空;
  空时不输出 <p>、不拼「·」分隔符。
- admin/index.php: 输入框回显不传默认文案(清空后不回弹),加 placeholder 与说明。
This commit is contained in:
2026-09-28 23:38:13 +08:00
parent 92eb9d90be
commit 5f38df80b7
3 changed files with 32 additions and 7 deletions
+4 -1
View File
@@ -293,7 +293,10 @@ else: // settings ?>
<?= csrf_field() ?>
<input type="hidden" name="action" value="settings_save">
<label>站点名称<input type="text" name="site_name" value="<?= e(setting('site_name', '简航')) ?>"></label>
<label>副标题<input type="text" name="subtitle" value="<?= e(setting('subtitle', '个人网站导航')) ?>"></label>
<label>副标题<input type="text" name="subtitle" value="<?= e(setting('subtitle')) ?>" placeholder="留空则不显示"></label>
<p class="hint" style="grid-column:1/-1;margin:-6px 0 6px">
副标题显示在首页站点名称下方(也会出现在浏览器标题里)。<b>留空即隐藏</b>,不会退回默认文案。
</p>
<label>默认搜索引擎
<select name="default_engine">
<?php foreach ($engines as $en): ?>