您当前的位置: 主页 > 优化教程
当我们做大型网站的时候,上百个栏目,为了SEO,在栏目模板里面,我们一般会像下面这样去调用栏目标题、关键字、描述。
 
<title>{dede:field.seotitle/}</title>
<meta name="keywords" content="{dede:field name='keywords'/}" />
<meta name="description" content="{dede:field name='description' function='html2text(@me)'/}" />
 
但是这样有一个问题,就是假如个别栏目忘记写标题、关键字、描述就会为空了。这时我们可能就会想,如果能让栏目标题、关键字、描述为空的时候,就调用上级的就好了,当上级没有时候时候,再调用上上级的,如果到顶级栏目都还没有的时候,就调用用网站首页的标题、关键字、描述,想法是可以,但是实现起来可能不容易。今天我就来分享一下我的方法吧。
 
DEDECMS 自动获取上级栏目的标题,关键字 描述    
第一步:打开/include/typelink.class.php  找到这一段代码 $this->TypeInfos = $this->dsql->GetOne($query);   在他下面加上三行代码加好之后如下
 
     //载入类目信息
     $query = "SELECT tp.*,ch.typename as ctypename,ch.addtable,ch.issystem FROM `idea_arctype` tp left join `idea_channeltype` ch
     on ch.id=tp.channeltype  WHERE tp.id='$typeid' ";
     if($typeid > 0)
     {
         $this->TypeInfos = $this->dsql->GetOne($query);
//填空
$this->TypeInfos['keywords'] = $this->TypeInfos['keywords'] ? $this->TypeInfos['keywords'] : $this->GetTrueInfos('keywords');
$this->TypeInfos['seotitle'] = $this->TypeInfos['seotitle'] ? $this->TypeInfos['seotitle'] : $this->GetTrueInfos('seotitle');
$this->TypeInfos['description'] = $this->TypeInfos['description'] ? $this->TypeInfos['description'] : $this->GetTrueInfos('description');
 
         if(is_array($this->TypeInfos))
         {
             $this->TypeInfos['tempindex'] = MfTemplet($this->TypeInfos['tempindex']);
             $this->TypeInfos['templist'] = MfTemplet($this->TypeInfos['templist']);
             $this->TypeInfos['temparticle'] = MfTemplet($this->TypeInfos['temparticle']);
         }
     }
 
第二步:在TypeLink类中增加一个调用方法GetTrueInfos($info) 代码如下:
 
//为了让某些栏目的关键字描述等不能为空 
   function GetTrueInfos($info = 'seotitle') {
$infos = array('reid'=>$this->TypeID,$info=>'');
while(empty($infos[$info]) && $infos['reid']!=0) {
$this->dsql->SetQuery("SELECT reid,".$info."  FROM idea_arctype WHERE id='".$infos['reid']."'");
    $infos = $this->dsql->GetOne();
}
if(empty($infos[$info])) {
if($info == "seotitle") return $GLOBALS['cfg_webname'];
if($info == "keywords") return $GLOBALS['cfg_keywords'];
if($info == "description") return $GLOBALS['cfg_description'];
    return $infos[$info];
   }
 
保存之后,这里我们去生成一下预览效果,此方法在DEDECMS 5.7 SP1上测试有效,其它版本未测试。 在此献丑了
 

关键词:dede,自,动动,获取,上级,栏,目的,标题,关键字,    标签:
    更多资讯请收藏关注 网站模板(www.1yc.cn)

dedecms网页压缩seo之gzip设置技巧本文实例讲述了 dedecms 织梦模板 压缩seo之gzip设置技巧... 2021-07-30
runphp标签织梦dedecms直接获取上一篇下一篇的URL网址链接织梦dedecms的上一篇、下一篇调用一般在文章页里面是用{dede:... 2021-07-30
织梦有效去除面包屑当前位置position导航中最后“&amp;gt;”符号的方法面包屑导航的意思就是位置导航 展现效果:当前位置:首页 织梦58织梦教... 2021-07-22
织梦dedeCMS留言本类的plus插件调用{dede:}标签或头部尾dedecms 织梦模板 留言本类的plus插件调用{dede:}标签... 2021-07-22
解决dede列表页分页地址优化修改文件:include/arc.listview.class.php... 2021-07-22
织梦dedecms当前文章关键词相同的文章最近在做一个站,想做一个功能,就是有一个div块里显示的是与当前文章关... 2021-07-30
dedecms5.7织梦模板栏目列表页分页URL优化教程dedecms程序的栏目列表分页链接网址,如果我们仔细观察会发现,栏目... 2021-07-22
织梦dedecms当前栏目调用上级栏目名称的办法问题:网站需要在栏目列表页调用上级栏目的名称,也就是在列表模板调用当前... 2021-07-27
织梦dedecms系统创建自定义字段今天群里的网友问了一个问题,如何添加自定义字段,我们在做织梦建站的时候... 2021-07-27
优化织梦提高网页打开速度最近一直在研究如何提高网站的用户体验性,我们知道加快网页的打开速度是提... 2021-07-30
两步修改DedeCMS文章标题、来源、摘要、作者等字段的字数限制DEDECMS修改文章标题,来源,摘要,作者等字数限制 具体步骤: 1... 2021-07-27
Dedecms广告js文件更新速度慢的解决方法如果您的dede广告使用js调用方式,可能会遇到这个问题: 我们在de... 2021-07-22
织梦dedecms系统判断栏目子栏目是否存在在实际使用 织梦模板 全站调用二级栏目以及子栏目时遇到一个问题,网站的... 2021-07-27

线
咨询热线:
135-0038-3336
在线客服:
点击这里给我发消息
微信交流:
公司官网: www.1yc.cn