91 lines
3.6 KiB
PHP
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;
|
|
}
|
|
} |