网站地图    收藏   

主页 > 后端 > dedecms >

dedecms 截取栏目名称的后两字 - DeDecms

来源:自学PHP网    时间:2014-11-30 17:03 作者: 阅读:

[导读] 相信dedecms截取文章标题的长度,大家都会,在这我说说如何截取栏目名称的前几个字和后几个字.一、如截取栏目名称的前两字,请用:[field:typename function=cn_substr(#39;@me#39;,3)/]这种格式......

dedecms 截取栏目名称的后两字

相信dedecms截取文章标题的长度,大家都会,在这我说说如何截取栏目名称的前几个字和后几个字.

一、如截取栏目名称的前两字,请用:

[field:typename function="cn_substr('@me',3)"/]这种格式

二、截取栏目名称的后两字:

例子:脑萎缩一级栏目下有子栏目分别是:脑萎缩病因、脑萎缩治疗、脑萎缩症状、脑萎缩预防.

我想在首页导航显示分别为:病因 | 治疗 | 症状  |   预防

1、如果是dede的gbk源码,采用[field:typename function='substr(@me,-4)'/]这种格式

2、如果是dede的utf8源码,采用1方法达不到我们上面所说的效果,我们不妨换一种思维考虑来解决这个问题(网上找不到解决的办法才这么干的),给每个栏目加一个副栏目名称,副栏目名称位置填写:病因、治疗、症状、预防,当然也可以随便写:萎缩病、萎缩治、萎缩症。。。

下面开始:

(1)、进入phpmyadmin找到dede_arctype表,新增字段副栏目名称shorttname,

dedecms 截取栏目名称的后两字

(2)、打开\dede\templets目录,编辑catalog_add.htm

查找‘栏目名称’,复制栏目名称....,新增副栏目名称,注意这里的name和id名称要改成刚才在数据库里新加的字段(shorttname);

dedecms 截取栏目名称的后两字

同样编辑catalog_edit.htm,步骤同上.

dedecms 截取栏目名称的后两字

效果:

dedecms 截取栏目名称的后两字

(3)、打开\dede,编辑catalog_add.php

在68行,查找$queryTemplate = "INSERT在后面添加,'$shorttname'添加后的代码为:

dedecms 截取栏目名称的后两字

在227行查找$in_query,在后面添加,'$shorttname'添加后的代码为:

dedecms 截取栏目名称的后两字

编辑catalog_edit.php 38行

  1. $upquery = "UPDATE `detest_arctype` SET 
  2.    issend='$issend'
  3.  sortrank='$sortrank' 

在后面添加,`shorttname`='$shorttname',添加后为:

dedecms 截取栏目名称的后两字

(4)、让channel标签支持副栏目循环输出

编辑\include\taglib,channel.lib.php查找 if($type=='top'),增加shorttname字段 更改后为:

dedecms 截取栏目名称的后两字

109行:查找 if($type=='son' && $reid!=0 && $totalRow==0),增加shorttname字段更改后为.

dedecms 截取栏目名称的后两字

(5)、前台调用

  1. {dede:channel type='son' row='8' } 
  2. //phpfensi.com 
  3. [field:shorttname /] 
  4. {/dede:channel} 

效果如图:

dedecms 截取栏目名称的后两字

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号-1@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com

添加评论