DedeCMS(织梦)判断简略标题为空则显示完整标题的几种方法

DedeCMS(织梦)判断简略标题为空则显示完整标题的几种方法,第1张

DedeCMS(织梦)判断简略标题为空则显示完整标题的几种方法

最近偶然发现了一个非常好用的标签,比较简单但是特别适合大家在使用DEDEDEcms开发网站时应用。本文重点是详细介绍DEDEDECMS(织梦CMS)在知道短标题为空的情况下,如何显示详细标题的几种方法。原文根据示例代码非常详细,盆友有必要参考一下。

序言

我坚信我们都遇到过,在应用DreamweavercmsDedeCMS系统软件开发网站的时候,会遇到很多被网页的版式设计限制了总宽度,以至于文章的标题都必须限制长度。一般的做法是在A标签中加入标题特性,这样电脑鼠标放进去就可以显示详细的标题。但是有些标题的标识符被截掉了,没有详细说明,下面我给大家推荐其他种类的标题激活方式,比如开发标题区分,DedeCMS在短标题为空时会显示详细标题。

实际方法如下:

方法1:

{dede:fieldname='array'runphp='yes'}if(@me['shorttitle']=='')@me=@me['title'];else@me=@me['shorttitle'];{/dede:field}

方法二:

[field:arrayrunphp='yes']if(@me['shorttitle']=='')@me=@me['title'];else@me=@me['shorttitle'];[/field:array]

此方法可以嵌套在{dede:arclist}标记中。

方法三:

有时候标题太长,全部陈列会造成版面设计混乱,危及美观大方。然而,展示它的一部分会损害客户体验。大家都期望,当标题在一定长度范畴内时,会显示完整标题;当标题过时时,只显示一定长度,后面是句号,然后鼠标上移时显示标题的所有内容,从而保证不危及节的合理布局,显示标题的所有内容。

在这里,我们得到了只改变模板而不改变程序流程的方法。比如下面这个标题目录,最大标题50字节,只显示30字节,模板代码如下:

<ul> {dede:arclisttitlelen='50'row='10'} <li><atitle="[field:title/]"href="[field:filename/]">[field:titlefunction='(strlen("@me")>30?cn_substr("@me",30)."...":"@me")'/]</a></li> {/dede:arclist} </ul>

显然,解决问题的关键是使用[field:titlefunction='(strlen("@me")>;34?Cn_substr("@me",30)。"...":"@me")'/]替换原来的[field:title/],在输出标题时增加了一个区分的全过程。首先区分标题是否超过34个字节,如果是,只输出30个字节的长度,加一个句号。而title="[field:title/]"不受影响,当鼠标上移时,标题的所有内容都会显示出来。

方法4:

除了以上改变模板的方法,还有编程或者CSS等方法。但是,根据模板可以处理的问题使得编程变得多余。CSS的方法如下:

<astyle="width:120px;text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"title="DedeCMS2007将要公布"href="">DedeCMS2007将要公布</a>

描述:宽度:120pxLength,text-overflow:省略号:当目标中的文本溢出时显示省略标记...,空白:nowrap:强制文本显示在一行中,溢出:隐藏:溢出内容被隐藏。很多技巧可以参考这篇文章:https://www.jb51.net/article/50258.htm

CSS方法比更改模板更容易,但不幸的是,text-overflow:ellipsis的特性在firefox中没有实际作用。因此,最好应用上述改变模板的方法。

最近又发现了一个难题,就是dede标题连接,有东西就可以连接,没东西就不连接。下面是处理方法:

{dede:listpagesize='15'orderby='weight'orderway='desc'} <dl> <dt>[field:pubdatefunction='strftime("%Y/%m/%d",@me)'/]</dt> <dd> [field:arrayrunphp='yes']if(@me['body']=='')@me=@me['title'];else{@me='<ahref="'.@me['arcurl'].'"title="'.@me['description'].'"target="_blank">'.@me['title'].'</a>';}[/field:array] </dd> </dl> {/dede:list}

摘要

这就是本文的全部内容。希望本文中的内容对大家的学习培训或者工作有一定的参考价值。有问题可以在留言板留言交流。感谢您的申请。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/773111.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-03
下一篇 2022-05-03

发表评论

登录后才能评论

评论列表(0条)

保存