我的编程空间,编程开发者的网络收藏夹
学习永远不晚
位置:首页-资讯-开源

dedecms 列表页标题修改图文方法(利于优化)

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

dedecms 列表页标题修改图文方法(利于优化)

最近看到sina.com.cn qq.com 163.com 这些大站的页面标题title ,发现他们的标题如下

频道页: 频道名_网站名

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

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

也想把自己的小站改成这样的,去查了查dedecms的帮助文档,发现没有这样相关标记,看来只能自己动手了,又开始baidu,发现这样的文章还不少,请查阅本站转来的另一篇文章,

DEDE实现“文章标题-栏目名称-网站名”

但身为一个技术人员又驱使我自己也写了一个,下面把我自己实现的方法及如何调用贴出来,方便大家使用

版本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查找 "function GetPositionLink" 在GetPositionLink()函数下入以下函数

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

比如 栏目1_栏目2

以下为引用的内容:


复制代码代码如下:

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'],"_");

好了,现在我们在模板里调用

在list_article.htm和article_article.htm的title标签里用 {dede:field name='position2'/} 调用

如图

注:频道页无需用这样方法调用,虽然也可以得到频道名,但用{dede:field name='typename'/}调用更加方便,也不需要修改inc_arcpart_view.php类

实现效果如下:

O了,加上这篇文章,修改织梦系统使其实现 "文章名_栏目1_栏目2_网站名" 总共有4种不同的方法了,根据个人情况选择吧,

祝你的网站让baidu,google收录的更多,呵呵.

后话:

在开发这个功能时,发现dede像栏目数据表(平时不怎么改动)都不缓存, 程序在用时都是实时链接数据库查询,就比如inc_typelink.php中都是直接sql查出来的,不禁感叹phpcms在方面的处理要更优于dedecms, phpcms对平时不怎么更改的数据都是直接缓存成php文件,虽然dedecms最新版5.5的生成速度还可以,但织梦的开发人员如果能更好的优化这些细节,那生成速度岂不会更加快.

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

dedecms 列表页标题修改图文方法(利于优化)

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

dedecms 列表页标题修改图文方法(利于优化)

最近看到sina.com.cn qq.com 163.com 这些大站的页面标题title ,发现他们的标题如下 频道页: 频道名_网站名 列表页:编程客栈列表名_频道名_网站名 内容页:文章名_栏目二(列表名)_栏目一(频道名)_网站名
2022-06-12

dedecms TAG标签列表分页链接优化方法

先来看看DEDEcms默认的TAG列表分页(5.6为例): 第1页时:
  • 首页
  • 上一页
  • DEDECMS文章列表页调用tag的修改方法

    打开DEDEcms根目录include/common.func.php 在最底部 ?> 前面加入以下代码: 复制代码代码如下: function listtag($aid) { $tsql = new DedeSql(false); $ta
    2022-06-12

    DEDECMS教程:去除列表页文章标题加粗标签的方法

    最近在用DEDEcms搭架网站的时候,我碰到这种情况:就是生成编程客栈的列表模板中,列表文章标题全都加粗加黑了,这样看的特别扭。刚开始,我还以为是样式出了问题,我就把列表模板页面的样式检查了一遍,根本没有加粗标签。我用火狐浏览器看了一下列表
    2022-06-12

    给Dedecms文章列表分页标题加上序号的方法示例

    为dedecmsDFlGwd文章分页标题加上序号,小编提醒:本教程只在dedecms5.1版本下测试通过,如果您想在其它版本试验,请先备份原DFlGwd文件! 改模板文件inc_archives_view.php就OK了 代码如下://循环
    2022-06-12

    Dedecms文章设置推荐后列表页标题自动加粗的解决方法

    本文实例讲述http://www.cppcns.com了Dedecms文章设置推荐后列表页标题自动加粗的解决方法。分享给大家供大家参考。具体分析如下: 使用dedecms时我们会发现,在后台把文章设置推荐之后,列表页面标题会自动加粗,这样如
    2022-06-12

    优化网页标题才有利于网站排名的方法有哪些

    本篇内容介绍了“优化网页标题才有利于网站排名的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1、网页标题要独特且不重复每个页面都要
    2023-06-10

    编程热搜

    • wordpress错位如何解决
      这篇文章主要介绍“wordpress错位如何解决”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“wordpress错位如何解决”文章能帮助大家解决问题。wordpress
      wordpress错位如何解决
    • 帝国cms调用栏目别名的修改步骤
      请留意下面的修改方法 修改后栏目别名使用 !--bname--] 调用 打开e/class/t_functions.php搜索定位到带模板的栏目导航标签修改1复制代码代码如下://替换变量$bclassname=$class_r[$clas
      帝国cms调用栏目别名的修改步骤
    • 动易Cms MAC验证视图失败的解决方法
      “/”应用程序中的服务器错误。 -------------------------------------------------------------------------------- 验证视图状态 MAC
      动易Cms  MAC验证视图失败的解决方法
    • DEDECMS如何支持中文水印
      DEDECMS如何支持中文水印?修改/include/inc_photograph.php,在165行处加这行代码:$w_text = iconv("GB2312","UTF-8",$w_text);OK,现在可以用中文做水印了,但默认的字体大小是5,中文字体
      DEDECMS如何支持中文水印
    • 快速了解Discuz!程序文件功能
      相信有不少人热衷于基于修改原有系统文件所做的插件,当然了解程序文件功能是最重要的,下面我把Discuz! X2.0主要的程序文件功能说一下。Tips:Q:针对说明的文件是?A:我只基于原版文件对upload目录中基本的程序文件(php,ht
      快速了解Discuz!程序文件功能
    • DedeCMS编辑器fck更换成eWebEditor编辑器具体步骤
      将eWebEditor编辑器插入DEDE后台的效果: 完全Word在线编辑的功能,让你从此摆脱发可编辑器卡得死,进入流畅干净编辑界面新时代。 下面是具体步骤: 首先,你要知道eWebEditor是一个什么工具。 eWebEditor是由国
      DedeCMS编辑器fck更换成eWebEditor编辑器具体步骤
    • 允许 WordPress 上传任意文件的方法
      此时如果上传一个不在预定义编程客栈的安全扩展名列表,如.lrc,会报kAtKhHRl错: F编程客栈ile type does not meet security guidelines. Try another. 解决此问题有两方法: 在
      允许 WordPress 上传任意文件的方法
    • dedecms 软件下载模块中添加下载方式为迅雷下载联盟代码
      修改 /plus/download.php 文件 www.cppcns.com查找
      dedecms 软件下载模块中添加下载方式为迅雷下载联盟代码
    • dedecms网站tag标签全部静态化的解决方法
      更改tags.php文件在根目录 找到$tag = FilterSearch(urldecode($tag)); 替换为:$tag = urldecode($tag); 更改文件arc.taglist.class.php文件文件所在的路径是
      dedecms网站tag标签全部静态化的解决方法
    • 帝国CMS远程保存图片的方法
      本文实例讲述了帝国cms远程保存图片的方法。分享给大家供大家参考。 具体实现方法如下:复制代码代码如下:
      帝国CMS远程保存图片的方法

    目录