123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- <?php
- /**
- * Created by PhpStorm.
- * User: 庞涛
- * Date: 2018/8/28
- * Time: 10:30
- */
- namespace app\mobile\controller;
- class Base extends \think\Controller
- {
- protected $site;
- private $controller;
- private $seo;
- protected $menuSeo = true;
- public function _initialize(){
- parent::_initialize();
- if(request()->isMobile()){
- }
- $site = cache('site');
- if($site['status'] == 0){
- die($site['reson']);
- }
- $this->site = $site;
- $this->seo = [
- 'title' => $site['title'],
- 'seo_title' => $site['seo_title'],
- 'seo_keys' => $site['seo_keys'],
- 'seo_desc' => $site['seo_desc']
- ];
- $qq = str_replace(',',',',$site['qq']);
- $qq = explode(',',$qq);
- $this->controller = strtolower(request()->controller());
- $this->getMenu();
- $this->setSeo();
- $this->getCate();//单页分类
- $this->assign('site',$site);
- $this->assign('qq',$qq);
- $this->assign('controller',$this->controller);
- }
- //设置站点优化
- protected function setSeo($info='',$field='title',$q=''){
- if(!empty($info)){
- $info['title'] = isset($info['title']) ? $info['title'] : $info[$field];
- $seo['title'] = empty($info['seo_title']) ? $info[$field].'_'.$this->seo['title'] : $info['seo_title'].'_'.$this->seo['title'];
- $seo['keys'] = empty($info['seo_keys']) ? (empty($info['seo_title']) ? $info['title']:$info['seo_title']) : $info['seo_keys'];//$seoarr[$key]['keys'];
- $seo['desc'] = empty($info['seo_desc']) ? '' : $info['seo_desc'];//$seoarr[$key]['desc'];
- }else{
- $site['title'] = empty($q) ? $this->seo['seo_title'].'_'.$this->seo['title'] : $q .'_'.$this->seo['title'];
- $site['keys'] = empty($this->seo['seo_keys']) ? $this->seo['seo_title'] : $this->seo['seo_keys'];
- $site['desc'] = empty($this->seo['seo_desc']) ? '' : $this->seo['seo_desc'];
- $seo = $site;
- }
- $this->assign('seo',$seo);
- }
- /**
- * 读取站点导航
- */
- private function getMenu(){
- $menu = cache('nav');
- if(!$menu){
- $map['status'] = 1;
- $lists = model('nav')->where($map)->order('ordid asc')->select();
- if($lists){
- $cate = objToArray($lists);//普通列表
- $temp = [];
- foreach($cate as $v){
- if(!empty($v['alias'])){
- $temp[$v['alias']] = $v;
- }else{
- $temp[$v['model']] = $v;
- }
- }
- $menu = $temp;
- cache('nav',$temp);
- }
- }
- if(isset($menu[$this->controller]) && $this->menuSeo){
- $this->seo = [
- 'title' =>$this->site['title'],
- 'seo_title' => empty($menu[$this->controller]['seo_title']) ? $menu[$this->controller]['title'] : $menu[$this->controller]['seo_title'],
- 'seo_keys' => $menu[$this->controller]['seo_keys'],
- 'seo_desc' => $menu[$this->controller]['seo_desc']
- ];
- }
- $this->assign('menu',$menu);
- }
- /**
- * @return mixed
- * 空操作 找不到操作方法时执行
- */
- public function _empty(){
- return $this->fetch('public/404');
- }
- private function getCate(){
- $cate = cache('oneCate');
- $articleCate = cache('articleCate');
- $this->assign('articleCate',$articleCate);
- $this->assign('oneCate',$cate);
- }
- }
|