DEDE无简略标题时显示完整标题

新闻的标题需要进行字数限制,这就需要加入一个title属性,让鼠标放上去的时候显示完整标题。另外目前的调用只能同时调用一种标题方式,不过可 以采用以下方法,进行判断,无简略标题显示完整标题。例如dede早期版本中的”有来源显示来源,无来源不显示”、”有作者显示作者,无作者不显示”。

这是有长标题显示长标题,无长标题则显示短标题,需要反过来用的,可以把shorttitle和title互换一个位置.

方法一:

{dede:field name=‘array‘ runphp=‘yes‘} if (@me[‘shorttitle‘]==‘‘) @[email protected][‘title‘];else @[email protected][‘shorttitle‘];{/dede:field} 

方法二:

[field:array runphp=‘yes‘] if (@me[‘shorttitle‘]==‘‘) @[email protected][‘title‘];else @[email protected][‘shorttitle‘];[/field:array]

方法二(附):

 [field:array runphp=‘yes‘] if (@me[‘title‘]==‘‘) @[email protected][‘shorttitle‘];else @[email protected][‘title‘];[/field:array]

这个方法可以在{dede:arclist}标签中套用。

方法三:
有时标题过长,全部显示会导致排版混乱,影响美观。但显示一部分又影响用户体验。我们希望当标题在一定长度范围内时,全标题显示,当标题过时,只显示一定
长度,后面加省略号,然后当鼠标移上去时再显示标题的全部内容,这样就即做到了不影响版面的布局,又做到了标题内容的全部显示。

这里给出不需要修改程序,只修改模板的方法。举例,下面的标题列表,最长的标题50字节,只想显示30字节,模板代码如下:

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

很明显,解决问题的关键在于用 [field:title function=‘( strlen("@me")>34 ? cn_substr("@me",30)."..." : "@me" ) ‘ /] 代替了原来的 [field:title /] ,在输出标题时多了一个判断的过程,先判断标题是否大于34字节,如果大于则只输出30字节的长度,并加上省略号。而title=" [field:title /]" 则不受影响,鼠标移上去时显示标题的全部内容。

方法四:
除上面修改模板的方法外,还有编程或CSS等方法。但能通过模板解决的问题,编程就不必要了。CSS的方法如下:

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

解释:width:120px; 限定长度,text-overflow:ellipsis :当对象内文本溢出时显示省略标记...,white-space:nowrap:强制文本在一行内显示,overflow:hidden:溢出内容为隐藏。

CSS的方法比修改模板还要简单,不过很遗憾,text-overflow:ellipsis属性在firefox中是没有效果的。所以,还是使用上面的修改模板的方法吧。

dede标题链接,有则能链接无则不连接

{dede:list pagesize=‘15‘ orderby=‘weight‘ orderway=‘desc‘}
        <dl>
         <dt>[field:pubdate function=‘strftime("%Y/%m/%d",@me)‘/]</dt>
         <dd>

[field:array runphp=‘yes‘] if (@me[‘body‘]==‘‘) @[email protected][‘title‘];else{ @me = ‘<a href="‘[email protected][‘arcurl‘].‘" title="‘[email protected][‘description‘].‘" target="_blank">‘[email protected][‘title‘].‘</a>‘;}[/field:array]     

         </dd>
        </dl>
        {/dede:list}

时间: 2024-09-30 11:14:00

DEDE无简略标题时显示完整标题的相关文章

dede 鼠标移到标题处显示完整标题

有些标题过长,为了页面的美观,会对标题的长度进行控制,会截断一些. 给标题加上title属性就能让读者把鼠标移到标题上就能显示完整标题了. 之前我也注意到要把title给添加上,用的是以下这种方式. <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a> 但是生成的时候,title里面的标题还是会别截断,换成title="[field:fulltitle

鼠标悬浮标题切换显示出标题的文字和图片效果

第一种效果: HTML结构: <div class="vewinfor"> <div class="leftin_hd"> <h3>作者热文</h3> <a href="" target="_blank" class="in_more">...</a> </div> <div class="leftin_bd

Dede调用简略标题_简略标题标签(短标题)

在使用DEDECMS建站过程中,为了使调用的文章标题简短且相对完整(原文标题太长),只好使用了简单标题这一个办法,使标题显示为简短标题,指向标题时显示完整的标题.并获得文章静态地址链接. DEDE简短标题调用 使用的代码: <UL>{dede:arclist titlelen='40' orderby='pubdate' row='6' typeid='5'}<LI><a href=”[field:arcurl/]” title=”[field:title/]“ target

dede无子栏目的栏目直接调用顶级栏目(不让调用的解决方法) noself=\&#39;yes\&#39;

大家在用dede做网站的时候经常会出现一个问题就是当调用子栏目的时候会出现无子栏目的栏目直接调用顶级栏目, 解决dede无子栏目时出现同级栏目的问题 {dede:channel type='son'}无子栏目时不取同级栏目解决方法 Tags: {dede:channel  type='son'}无子栏目 {dede:channel type='son'}无子栏目时取同级栏目问题如何解决呢? 打开:include\taglib\channel.lib.php文件. 找到 view plainpri

dede限制标题长度后,鼠标移到标题,不显示完整的锚文本标题解决方法

先来一个我们常用的写法 {dede:arclist  titlelen='40' orderby=pubdate} <a href="[field:arcurl/]" title="[field:title/]">[field:title/]</a> {/dede:arclist} 下面来一个解决方法 {dede:arclist  titlelen='40' orderby=pubdate} <a href="[field:a

windows phone 切换多语言时,商店标题显示错误的问题

前段时间,用业余时间写了一款 wp8 app(“超级滤镜”商店,中文地址:英文地址),在多语言的时候,给 app title 和 app tile title 进行多语言时(参考 MSDN),中文商店(zh-cn)总是显示 “Super Imaging” 而不是 “超级滤镜”, 但是在手机上切换多语言时,名称显示正确,所以猜测是清单文件 WMAppManifest.xml 配置错误. 默认情况下,把英语作为 app 的显示语言,设置如下: 1.右键单击项目属性,单击 “程序集信息”: 2.在“非

dedecms中调用文章,标题超过限制字数时,在标题后面加上省略号...

在dedecms中调用文章,当标题超过限制字数时,怎么在标题后面加上……呢.其实不论是在首页还是列表页还是内容页调用文章,不管是arclist还是list标签调用文章,只需要把[field:title]这个标签适当修改. 一般是类似于这样: {dede:arclist row='10'} <li><a href="[field:arcurl /]" title="[field:fulltitle/]">[field:title/]</a

无代码软件开发修改软件标题

腾讯课堂搜"尚识"进行在线学习 软件标题也可以叫软件系统标题或软件应用标题或系统名称等,在浏览器运行软件时,软件默认是以我们开发时命名的项目名称为标题的,可以查看我们之前的字符串文本输入框的开发功能演示中,全部是以TEST这个名称的项目,所以运行时,浏览器中软件标题为"TEST". 以下是我们演示新建一个TERSUS为名称的项目,然后运行,显示默认标题TERSUS,我们修改这个默认标题为"TERSUS无代码开发":新建项目---添加标题属性---

【jQuery02】点击标题面板显示内容

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title></title> <sc