完善前台seo功能

This commit is contained in:
2020-04-17 21:05:17 +08:00
parent 83ce571a3f
commit e47fdd4593
5 changed files with 49 additions and 10 deletions

View File

@@ -17,6 +17,7 @@ use app\model\Config;
use think\facade\Route;
use think\facade\Event;
use app\model\Hooks;
use app\model\SeoRule;
class Base {
@@ -216,4 +217,27 @@ class Base {
$doc = new \doc\Doc();
return $doc->parse($text);
}
protected function setSeo($title = '', $keywords = '', $description = '') {
$seo = array(
'title' => $title,
'keywords' => $keywords,
'description' => $description,
);
//获取还没有经过变量替换的META信息
$meta = SeoRule::getMetaOfCurrentPage($this->request, $seo);
foreach ($seo as $key => $item) {
if (is_array($item)) {
$item = implode(',', $item);
}
$meta[$key] = str_replace("[" . $key . "]", $item . '|', $meta[$key]);
}
$data = array(
'title' => $meta['title'],
'keywords' => $meta['keywords'],
'description' => $meta['description'],
);
View::assign('seo', $data);
}
}

View File

@@ -14,6 +14,10 @@ use \app\controller\Base as BaseC;
class Base extends BaseC {
protected function initialize(){
}
protected function fetch($template = '') {
$config = Cache::get('system_config_data');
$this->tpl_config['view_depr'] = '_';

View File

@@ -44,6 +44,8 @@ class Content extends Base {
'list' => $list,
'page' => $list->render()
];
$this->setSeo($this->modelInfo['title'] . '频道', $this->modelInfo['title'] . '频道', $this->modelInfo['title'] . '频道');
return $this->fetch($teamplate);
}
@@ -84,6 +86,7 @@ class Content extends Base {
'list' => $list,
'page' => $list->render()
];
$this->setSeo($cate['title'], $cate['title'], $cate['title']);
return $this->fetch($teamplate);
}
@@ -130,6 +133,7 @@ class Content extends Base {
'prev' => $prev,
'next' => $next
];
$this->setSeo($detail['title'], $detail['title'], $detail['title']);
return $this->fetch($teamplate);
}

View File

@@ -15,6 +15,7 @@ class Index extends Base {
* @return [type] [description]
*/
public function index() {
$this->setSeo("网站首页", '网站首页', '网站首页');
return $this->fetch();
}