请选择 进入手机版 | 继续访问电脑版

巅峰霸主

 找回密码
 立即注册

QQ登录

只需一步,快速开始

dedecms栏目seotitle为空则调用栏目名称直接显示的方法

  [复制链接] [添加相关主题]
烈火大地 发表于 2020-1-25 03:38:54 | 显示全部楼层 |阅读模式
在优化dedecms栏目的时候,默认使用{dede:field.seotitle /}标签来调用栏目的SEO优化标题,但是如果栏目太多或者有时候忘记写了,标题title就会是空的没有任何数据,这样不仅没有优化好栏目反而还影响了用户体验,也没有达到优化的目的,如果使用if判断来实现是不是更好呢。
dedecms后台栏目设置里面有seo标题 调用标签是{dede:field.seotitle /},有这个标签固然很好,有利于网站的seo,但是如果有的栏目不需要这个seo标题的话也要把普通的标题写上去 ,如果万一有些没有写的话,前台的标题可能就为空了,那样对用户来说很不好,所以这里做了一个判断,

效果是 |:如果有seo标题的话就显示seo标题,如果没有写seo标题就直接调用栏目的标题
保持栏目标题不为空,使用下面的代码来调用即可。
  1. {dede:field name='array' runphp='yes'} if(@me['seotitle']=='') @me=@me['title'];else @me=@me['seotitle'];{/dede:field}
复制代码

完整的调用代码如下:
  1. <title>{dede:field name='array' runphp='yes'} if(@me['seotitle']=='') @me=@me['title'];else @me=@me['seotitle'];{/dede:field}_{dede:global.cfg_webname/}</title>
复制代码

这个要放在网站title中 不能再{dede"arclsit}中使用

  1. [field:array runphp='yes'] if(@me['seotitle']=='') @me=@me['title'];else @me=@me['seotitle'];[/field:array]
复制代码

这个可以在{dede:arclist}中使用。

下面这一段代码是某网站提供的,但是使用不了。
  1. {dede:field name='id' runphp='yes'}
  2. $tid=@me;
  3. $dsql = $db = new DedeSql(false);
  4. $sql='select seotitle from dede_arctype where id='.$tid;
  5. $arr = $db->GetOne($sql);
  6. $seotitle=$arr['seotitle'];
  7. if($seotitle=="")
  8. {
  9. $sql='select typename from dede_arctype where id='.$tid;
  10. $arr = $db->GetOne($sql);
  11. @me=$arr['typename'];
  12. }
  13. else
  14. {
  15. @me=$seotitle;
  16. }
复制代码



上一篇:dedecms调用当前栏目名称和栏目链接的方法
下一篇:dedecms栏目优化解决分页首页、第一页和默认页url不同内相同

相关帖子

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|巅峰霸主 ( 京ICP备12023415号-2 )

声明:本站的任何信息和内容仅代表作者的立场和观点,与巅峰霸主网无关。

禁止在巅峰霸主网发布任何与《中华人民共和国法律》相抵触的言论!

GMT+8, 2020-4-5 15:14 , Processed in 0.116966 second(s), 25 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表