您当前的位置: 主页 > 优化教程
当我们做大型网站的时候,上百个栏目,为了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)

搜索引擎对网站收录有哪些原理与捷径搜索引擎通过爬去蜘蛛诱饵进入你的网站,那么是不是你的网站链接在其他网站... 2022-04-19
自适应手机网站制作与开发过程中要注意的几点细节!关于企业收购人员,销售人员等具有必定社会地位和经历的人员来说,他们在上... 2022-04-15
一站式自助建站平台的优点与缺点分析有些企业选择自助建站,今天小编重庆兴网就一站式自助建站平台的优点与缺点... 2022-03-03
高端企业网站设计管理系统对于网站自身架构优化的建议高端企业网站设计管理系统对于网站自身架构优化的有哪些建议呢,今天就由小... 2022-02-18
网站设计中的表单设计建议自定义表单的设计的技巧有哪些?正如重庆网站设计是您业务的关键部分一样,设计一个网站表单也很重要。用户... 2022-02-02
公司网站搭建选“响应式网站”还是“自适应网站”好?今天,有位客户问我们,到底是“响应式网站”好还是“自适应网站”好?我想... 2021-12-31
为你选择附近的网站建设_网站制作_自适应网站公司!1、品牌官网制作2、营销型网‌‌站策划3、电商网站开发4、大型门户网站... 2021-12-31
响应式网页设计与自适应网页设计的区别在哪里?根据客户不同需求来分析PC端网站和移动端网站制作风格。根据不同设备环境... 2021-12-27
怎样制作一个自适应手机、电脑、ipad的网页方法?手机上网的用户已经越来越多,已经赶超PC端。随着2G、3G、4G、免费... 2021-11-10
织梦dede标签:arclist标签使用大全arclist是织梦网站建设计系统中重要的标签,同时也是基础的标签... 2021-09-25
dedecms织梦模板移动版设置二级域名的教程织梦自从2015.06.18号升级后,系统增加了强的手机站功能,模板... 2021-07-22
织梦后台文本编辑时都是空白的解决方法织梦后台管理内容时,发现添加内容和编辑内容都是出现空白,查看编码后,排... 2021-07-22
织梦自由列表freelist调用增加排序方法很多站长在用到织梦的自由列表功能时,会发现其排序方式比较单一,不能满足... 2021-07-27
织梦(DedeCMS)系统列表页调用TAG标签并带上链接这里以默认模板为例,打开 /templets/default/list... 2021-07-22
织梦生成的时候“你指定的文件名有问题,无法创建文件”解决织梦生成的时候你指定的文件名有问题,无法创建文件解决方案 大家可能碰到... 2021-07-22
dedecms教程:织梦系统自定义变量删除方法之前添加了个联系电话的系统变量,忘记写描述,结果就显示个冒号,很难看。... 2021-07-22
dedecms教程:织梦系统$GLOBALS定义文件在哪DedeCMS数据库的信息是写在data/common.inc.php... 2021-07-22
织梦{dede:channel}标签调用栏目新增的自定义字段的方法很多站长在二次开发过程中,新增了栏目的自定义字段之后发现织梦的标签调用... 2021-07-22
织梦DedeCMS后台登录-验证码总是提示不正确这个问题经常有网友会遇到,解决办法如下: 1.data目录下sessi... 2021-07-22
织梦模板DedeCms获取缩略图的高度和宽度的代码某些瀑布流的代码要求图片必须带有高度,而 织梦模板 默认的缩略图仅仅是... 2021-07-22
dedecms织梦模板后台缩略图本地上传图片加水印的代码dedecms织梦后台添加文章时,缩略图有本地上传和站内选择,就算你开... 2021-07-22
如何批量更改织梦文章发布时间,入库时间,更新时间相关标签代码: 步,在后台新增一个文章 得到一个时间,比如2009... 2021-07-22

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