dedecms列表页标题怎么修改?(列表名_网站名)_栏目二

优采云 发布时间: 2021-07-14 06:02

  

dedecms列表页标题怎么修改?(列表名_网站名)_栏目二

  

  dedecms如何修改列表页的标题?

  推荐学习:织梦cms

  最近看到这些大网站的页面标题,发现它们的标题如下

  频道页面:频道名称_网站名

  列表页面:列表名称_频道名称_网站名

  内容页:文章名_第二栏(列表名)_第一栏(频道名)_网站名

  我也想把我的小站点改成这个,查了dedecms的帮助文档,发现没有这个相关的标记,看来只能自己搞了,又开始百度了发现这样的文章还有很多,请参考本站文章转的另一篇文章,

  DEDE实现“文章title-列名-网站名”

  但作为一名技术人员,我促使我自己编写一个。下面把我实现的方法和调用方法贴出来,方便大家使用

  版本5.0,涉及的类和模板如下

  inc_archives_view.php (最新5.5版为 arc.archives.class.php)内容页生成类

inc_arclist_view.php (最新5.5版为 arc.listview.class.php)列表页生成类

inc_typelink.php(最新5.5版为 typelink.class.php) 用于获取页面位置和栏目名相关类

index_article.htm 频道页模板

list_article.htm 列表页模板

article_article.htm 内容页模板

  首先我们修改dedecms的内核,(我下面提到的文件名与5.0版本统一,可以一一查看新版本对应的文件我上面列出)

  在inc_typelink.php类中用Ctrl+F搜索“函数GetPositionLink”,在GetPositionLink()函数下输入如下函数

  该函数用于获取当前页面的位置信息

  例如第 1 列_第 2 列

  以下为引用内容:

  代码如下:

  /*

* 得到当前页的位置,主要用在页面title中

* $typeid 栏目id

* &$info 引用传值

* $SplitSymbol 各栏目之间的分割符

* 排序 desc:栏目二_栏目一 ,asc:栏目一_栏目二

*/

function getPosition($typeid,&$info,$SplitSymbol='_',$orderby='desc'){

if (empty($typeid)) return false;

$this->dsql->SetQuery("Select ID,reID,typename From jyk_arctype where ID='".$typeid."'");

$infos = $this->dsql->GetOne();

$symbol = empty($info)?"":$SplitSymbol;

if ($orderby=='desc'){

$info = $info.$symbol.$infos['typename'];

}

else{

$info = $infos['typename'].$symbol.$info;

}

if ($infos['reID']!='0'){

$this->getPosition($infos['reID'],&$info,$SplitSymbol,$orderby);

}

}

  如图所示:

  

  接下来在解析列表页和内容页的类中添加相关代码,

  在inc_archives_view.php类中找到$this->Fields['position'],在这一行下面添加如下代码

  代码如下:

  $this->TypeLink->getPosition($this->Fields['typeid'],&$this->Fields['position2'],"_");

  在inc_arclist_view.php类中找到相同的$this->Fields['position']并在其下方添加如下代码

  代码如下:

  $this->TypeLink->getPosition($typeid,&$this->Fields['position2'],"_");

  好的,现在我们在模板中调用它

  使用{dede:field/}调用list_article.htm和article_article.htm的title标签

  如图所示

  

  注意:频道页面不需要这样调用,虽然也可以获得频道名,但是用(dede:field/)调用更方便,不需要修改inc_arcpart_view.php 类

  效果如下:

  

  O,加上这个文章,修改织梦系统实现“文章名_Column1_Column2_网站名”。一共有4种不同的方法,根据个人情况选择,

  祝你更多网站让baidu,google收录,哈哈。

  下面的话:

  在开发这个函数的时候发现dede的列数据表(变化不大)没有缓存。程序在使用时,实时链接到数据库。比如inc_typelink.php中,就是直接通过sql检测的。感叹phpcms在处理上比dedecms好。对于phpcms,平时不改的数据直接缓存到php文件中,虽然生成dedecms新版5.5 速度还可以,但是如果织梦开发者能更好的优化这些细节,就不会了生成速度不是更快。

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线