PHPCMS修改标题: 首页显示站点名称, 内容页显示内容标题

最初发表于: 2020-01-04 15:38:30

比如, 我们用PHPCMS做了一个网站, 叫 “喜悦乐器商店”, 我们有下属页面”弦乐乐器”, 以及更加下属的页面”小提琴”.

PHPCMS的标题显示可能是这样的

首页: 喜悦乐器商店

一级页面: 弦乐乐器 – 喜悦乐器商店

二级页面: 小提琴 – 弦乐乐器 – 喜悦乐器商店

假如说, 我们不希望标题如上显示, 而是希望如下显示

首页: 喜悦乐器商店

一级页面: 弦乐乐器

二级页面: 小提琴

那么可进行如下修改.

Step1 打开/phpcms/templates/你的模板/content/header.html, 在它的顶部加入如下代码

<?php
//判断是否是首页
$c1 = !strlen($_SERVER['QUERY_STRING']);
$c2 = $_SERVER['REQUEST_URI'] == '/index.php';
$c3 = $_SERVER['REQUEST_URI'] == '/';
$isHome = $c1 && ($c2 || $c3);

//得到页面标题
$seoTitle = isset($SEO['title']) && !empty($SEO['title']) ? $SEO['title'] : '';
$thisTitle = $isHome ? $SEO['site_title'] : $seoTitle;
?>

Step2 在这个header.html中, 把<title>进行如下更改

<title>{$thisTitle}</title>

Step3 打开/phpcms/libs/functions/global.func.php, 找到下面这行

$seo['title'] =  (isset($title) && !empty($title) ? $title.' - ' : '').(isset($cat['setting']['meta_title']) && !empty($cat['setting']['meta_title']) ? $cat['setting']['meta_title'].' - ' : (isset($cat['catname']) && !empty($cat['catname']) ? $cat['catname'].' - ' : ''));

它可能在第1529行, 并把它改成

$seo['title'] = isset($title) && !empty($title) ? $title : '';

这样就可以了. 如果不行, 可能需要更新缓存或生成html.