您现在的位置是:首页 > 教程 > dedecms教程dedecms教程
织梦dedecms简略标题为空时显示完整标题的方法
龚开梦2023-09-28 12:22:54dedecms教程已有人查阅
导读使用织梦DedeCMS系统程序开发网站中,我们会遇到很多因网页版面设计限定的宽度,使文章标题需要进行字数限制,通常做法是在a标签中加入一个title属性
使用织梦DedeCMS系统程序开发网站中,我们会遇到很多因网页版面设计限定的宽度,使文章标题需要进行字数限制,通常做法是在a标签中加入一个title属性,让鼠标放上去的时候显示完整标题。但是标题被剪裁掉一些字符而不完整,广信之家小编为你推荐另外几种标题调用方式,如进行标题判断,DedeCMS判断简略标题为空时则显示完整标题。具体方法如下:
方法一:
方法三:
有时标题过长,全部显示会导致排版混乱,影响美观。但显示一部分又影响用户体验。我们希望当标题在一定长度范围内时,全标题显示,当标题过时,只显示一定长度,后面加省略号,然后当鼠标移上去时再显示标题的全部内容,这样就即做到了不影响版面的布局,又做到了标题内容的全部显示。
这里给出不需要修改程序,只修改模板的方法。举例,下面的标题列表,最长的标题50字节,只想显示30字节,模板代码如下:
方法四:
除上面修改模板的方法外,还有编程或CSS等方法。但能通过模板解决的问题,编程就不必要了。CSS的方法如下:
CSS的方法比修改模板还要简单,不过很遗憾,text-overflow:ellipsis属性在firefox中是没有效果的。所以,还是使用上面的修改模板的方法吧。
dede标题链接,有则能链接无则不连接
方法一:
{dede:field name='array' runphp='yes'} if (@me['shorttitle']=='') @me=@me['title'];else @me=@me['shorttitle'];{/dede:field}
方法二:
[field:array runphp='yes'] if (@me['shorttitle']=='') @me=@me['title'];else @me=@me['shorttitle'];[/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']=='') @me=@me['title'];else{ @me = '<a href="'.@me['arcurl'].'" title="'.@me['description'].'" target="_blank">'.@me['title'].'</a>';}[/field:array]
</dd>
</dl>
{/dede:list}
代码号小编为你推荐:DedeCMS判断简略标题为空时则显示完整标题。
本文标签:
很赞哦! ()
相关文章
- 织梦dedecms添加RSS订阅功能的代码实例
- 织梦dedecms系统的安装方法步骤教程
- 织梦dedecms给栏目加一个英文栏目名字段的实现方法
- 织梦dedecms如何让文章列表实现隔行换色的代码实例
- 织梦dedecms提示“数据校验不对”错误的修复方法
- linux主机实现织梦dedecms的tags标签静态化
- 织梦dedecms修改TAG的title字数限制的方法
- 织梦dedecms网站的专题调用标签代码示例
- 织梦dedecms使用SQL删除指定栏目全部文章的方法
- 织梦dedecms删除文章时不删除HTML不删除附件图片的实现方法
- 《织梦dedecms二次开拓文档手册》措施目次详解以及数据表布局字
- 织梦dedecms二次开发实现图集缩略图的分页样式
随机图文
-
dedecms首页调用留言本标题的几种方法
有不少朋友会用到织梦的留言本模块,想把留言本里面的一些内容在首页或其他也面上显示出来,就需要用到下面这些代码进行调用了。第一种方法:用feedback标签 -
dedecms织梦arclist的分页使用方法
<script language="javascript" type="text/javascript" src="{dede:global.cfg_cm -
dedecms织梦模板中自定义字段排序功能实现方法
标签dede:arclist的排序是通过orderby来指定的,如下:而能给orderby赋值的只能是上面列出的值,也就是说dede:arclist 标签只能按照上面列出的字段排序。 -
dedecms织梦栏目列表分页链接优化实现方法
DEDE默认栏目列表分页链接如:1.找到\include\arc.listview.class.php这个文件,将$typedir= ereg_replace('^(.*)/','',$this->Fields['typedir']);这种代码添加到“//获得上一页和主页的链接”前;
留言与评论 (共有 条评论) |
大家在看
本栏推荐
相关标签
大家喜欢
- 织梦dedecms5.7修改文章后实现时间自动更新为当前时间
- 织梦cms文章页调用相关文章及相关文章不显示的解决方法
- DedeCms织梦模版制作教程及标记语法详解总结
- 织梦cms问答页面打不开出现service.dedecms.comphp_network_ge
- dedecms各种数字统计SQL语句包括评论条数文档数等写法
- dede织梦使用AJAX无刷新提交Form表单PHP返回结果
- dedecms删除文章后列表页显示错误的原因及解决方法
- dede织梦RSS全站静态输出和RSS订阅的实现方法
- dedecms织梦实现列表页双样式和列表样式循环交替变化
- dede织梦cms使用sql语句调用文章静态链接地址实例代码