Files

91 lines
3.6 KiB
PHP

<?php
namespace app\api\model\app\pc;
use think\Model;
/**
* SEO
*/
class Seo extends Model
{
/**
* 获取 seo meta 信息
* @param $type
* @param $id
* @return void
*/
public function getMeta($type = null,$id = null){
$seoConfig = \app\common\model\app\Config::getConfig('pc_seo');
$systemConfig = \app\common\model\config\System::getConfig('system');
$meta = [
'title'=>'',
'keywords'=>'',
'description'=>''
];
if($seoConfig){
if($type == 'page' && $seoConfig['page_tdk_status'] == 1){
//获取页面
$pagedata = \app\api\model\app\pc\Page::where(['id'=>$id])->field(["seo_title","seo_description","seo_keyword"])->find();
if($pagedata){
$meta['title'] = $pagedata['seo_title'];
$meta['keywords'] = $pagedata['seo_keyword'];
$meta['description'] = $pagedata['seo_description'];
}
}
if($seoConfig['detail_tdk_status'] == 1 && $type != 'page'){
switch ($type){
case "goods":
case "live":
$goodsdata = \app\api\model\course\Course::where(['id'=>$id])->field(["name","briefing"])->find();
if($goodsdata){
$meta['title'] = $goodsdata['name'];
$meta['description'] = $goodsdata['briefing'];
}
break;
case "evaluation":
$evaluationdata = \app\api\model\app\exam\Exercises::where(['id'=>$id])->field(["name"])->find();
if($evaluationdata){
$meta['title'] = $evaluationdata['name'];
}
break;
case "search":
$meta['title'] = $id."的搜索结果";
break;
case "vipcard":
$vipcarddata = \app\api\model\app\vip\Card::where(['id'=>$id])->field(["title","subtitle"])->find();
if($vipcarddata){
$meta['title'] = $vipcarddata['title'];
$meta['description'] = $vipcarddata['subtitle'];
}
break;
case "activity":
$activitydata = \app\api\model\app\activity\Activity::where(['id'=>$id])->field(["name","location"])->find();
if($activitydata){
$meta['title'] = $activitydata['name'];
$meta['description'] = "活动地点:".$activitydata['location'];
}
break;
case "user":
$meta['title'] = $id == 'record' ? '学习记录' : ($id == 'info' ? "个人中心" : '我的课程');
break;
}
}
if($seoConfig['default_tdk_status'] == 1){
$meta['title'] = empty($meta['title']) ? $seoConfig['default_tdk_title'] : $meta['title'];
$meta['keywords'] = empty($meta['keywords']) ?implode(",",$seoConfig['default_tdk_keywords']) : $meta['keywords'];
$meta['description'] = empty($meta['description']) ? $seoConfig['default_tdk_describe'] : $meta['description'];
}
}
$meta['title'] = empty($meta['title']) ? $systemConfig['name'] : $meta['title'];
return $meta;
}
}