dedecms实现"文章标题-2级栏目-1级栏目-网站名"的优化方法

EDECMS文章页的title结构是: 文章标题-网站名 现在我们想改为: 文章标题-2级栏目-1级栏目-网站名 的形式。 跟版网 站以前就是如此 一种方法是: 在 /include/inc_archives_view.php 中查找 tp.typedir,然后替换成 tp.typedir,tp.typename 在文章模板中用

EDECMS文章页的title结构是:

“文章标题-网站名”

现在我们想改为:

“文章标题-2级栏目-1级栏目-网站名” 的形式。跟版网站以前就是如此

一种方法是:

在 /include/inc_archives_view.php 中查找 tp.typedir,然后替换成 tp.typedir,tp.typename

在文章模板中用 {dede:field name='typename' /} 调用。这样就OK啦。可以实现在文章页显示文章所属栏目的名称,不过,这个栏目是文章最接近的一个栏目。

Title 里用如:

{dede:field name='title'/}-{dede:field name='typename'/}-{dede:global name='cfg_webname'/}

这样就OK了。

第二种方法更科学、更简便:

下面用“position”来实现。

(A)代码如下:

{dede:field name='title' /}-{dede:field name='position' runphp='yes'}
$tc="-"; //分隔符
$tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符
@me=html2text(@me); //去除html标签
$tf=split($tw,@me); //分解成数组
for($ta=(count($tf)-2);$ta>=1;$ta--){ //循环赋值给$tk
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
@me=$tk; //赋值给@me
{/dede:field}-{dede:global name='cfg_webname' /}

将以上代码放在文章页模板 <title></title> 之间就可以实现“文章标题-n级栏目-......-2级栏目-1级栏目-网站名”的形式了。

用这种方式,如果你某N级栏目目录太深,导致文章标题太长成了“文章标题-100几十级栏目-......4级栏目-3级栏目-2级栏目-1级栏目-网站名”这样怎么办?

(B)解决办法如下:

{dede:field name='title' /}-{dede:field name='position' runphp='yes'}
$tc="-"; //分隔符
$tw=$GLOBALS['cfg_list_symbol']; //调用位置分隔符
@me=html2text(@me); //去除html标签
$tf=split($tw,@me); //分解成数组
for($ta=(count($tf)-2);$ta>=1;$ta--){ //循环赋值给$tk
$tk.=trim($tf[$ta]).$tc;
}
$tk=substr($tk,0,-1);
$tk=str_replace("-4级栏目-3级栏目","",$tk);
@me=$tk; //赋值给@me
{/dede:field}-{dede:global name='cfg_webname' /}

增加蓝色部分,把你不想要的栏目标题如上红色的填上即可。

另:

这种方法也可以用在栏目的 title 上,把二级以下的栏目标题如“一级栏目//二级栏目”这种讨厌的形式给kill掉。

用法是:

抄上面的代码(A)到<title></title>,不要 {dede:field name='title' /}- 这一段即可。

当然这里的“-”分隔符,可以换成“|”

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

这篇文章给大家分享的是有关织梦dedecms调用当前栏目文章数的方法的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。 做模板时,经常需要为每个栏目加上此栏目的文章数。和大家分享下实现的方法,此方法适合5.6及5.7、5.7sp1其它
现在许多网站使用了SSL技术,网站采用https链接,我们在复制https链接网站的内容,发现图片无法本地化,那么我们想要将这些图片本地化,要怎么操作呢? 第一步: 找到dede/inc/inc_archives_functions.php (注:前边红色的dede目录是您的后台目录) 定位到
最终实现效果如下图:内容生成之后会自动加上本篇文章的tags标签(文档生成时候自动加入,编辑器中内容实际没加入,更有利) 实现教程 1、后台-系统-核心设置-关键字替换,选择【是】 2、后台-系统-其他选项-关键词替换次数,填【1】或者【0】 1:表示文档内
我们传图集后需要对图片进行删除,但是系统提示已删除,实际还保存在网站目录里,这个要怎么解决呢? 打开 \dede\swfupload.php 找到 if(!file_exists($imgfile) !is_dir($imgfile) preg_match(#^.$cfg_medias_dir.#, $imgfile)) 替换成: if(file_exists($i
织梦tags标签只能写12个字符也就是6个汉字,多出的字符就会自动截断,或者直接被去除,不单单需要通过修改数据库字段长度,还要修改程序文件来改变tags字数限制,tags标签默认长度。 1、修改tags数据表字段长度 后台-系统-SQL命令行工具-执行下面2句语句(一起
大家都知道,Discuz程序在发文章时有个【隐藏】功能,可以限制这个隐藏内容供某些级别的会员查看。 在织梦模板中,做些改动,也是可以实现的。例如:电话号码,下载地址等等。 前提是开启会员功能,已经有了自定义字段。 一、建立文件 ajax_loginsta_c.php: