使用织梦DedeCMS系统程序开发网站中,我们会遇到很多因网页版面设计限定的宽度,使文章标题需要进行字数限制,通常做法是在a标签中加入一个title属性,让鼠标放上去的时候显示完整标题。但是标题被剪裁掉一些字符而不完整,广信之家小编为你推荐另外几种标题调用方式,如进行标题判断,DedeCMS判断简略标题为空时则显示完整标题。具体方法如下:
 
方法一: 
{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}

 

AiteCms,企业模板快速建站专家,点击了解更多

转载自织梦模板教程(www.dede58.com

织梦DedeCMS判断简略标题为空时则显示完整标题的更多相关文章

  1. 织梦dedecms简略标题调用标签用法指南

    我们在使用织梦DEDECMS建站过程中,为了使调用的文章标题简短且相对完整(原文标题太长),只好使用了调用简略标题这个方法,使标题显示为简短标题,指向标题时显示完整的标题.并获得文章静态地址链接 下面 ...

  2. 判断网站织梦DedeCms版本的方法

    这个方法可以判断出目标网站所使用的织梦DedeCms是哪个版本的,打了哪一天的补丁. 在需要判断网站织梦版本的的URL路径后面添加/data/admin/ver.txt 如官方的:http://www ...

  3. 织梦dedeCMS数据库结构字段说明-简略说明

    dede_addonarticle 附加文章表 aid int(11) 文章编号typeid int(11) 分类栏目编号body mediumtext 文章内容dede_addonflash 附加F ...

  4. 织梦DedeCMS使用SQL批量替换文章标题内容

    在使用织梦DedeCMS的过程中,出于伪原创或者其他的原因,我们需要对文档的内容.标题.描述等等进行同义词或者其他的替换.这个就是一个简单的织梦SQL语句操作的问题,No牛网在织梦DedeCMS常用S ...

  5. 如何修改织梦dedecms文章标题的最大长度

    织梦dedecms默认的文章标题的最大长度为60字节,如果文章标题超过60字节将会自动截断,导致标题显示不全,这并非是我们所希望的.那么如何将标题长度改成我们想要的?只需简单两步即可解决问题. 1.进 ...

  6. 织梦dedecms做的网站首页标题篡改跳转赌博网站解决方案

    织梦dedecms因其强大功能,简单实用的优点常常被用来做企业网站,程序开源使用的人多了网站漏洞多会有中毒的情况,常见的有一种,首页标题关键词描述被篡改,百度快照收录点击后跳转的赌博网站,怎么解决这个 ...

  7. 织梦DedeCms技术资料

    Dedecms调用文章发布时间的方法 11-20 样式 ([field:pubdate function='strftime("%m-%d",@me)'/]) May 15, 20 ...

  8. 织梦Dedecms安全设置

    织梦DedeCMS是一款非常流行的CMS,很多刚开始建站人都用的织梦,一方面是织梦比较容易操作;另一方面是织梦的SEO方面做的确实比其他的系统要好一些.这些都导致织梦的用户群是非常庞大的,用的人多了, ...

  9. 织梦DedeCMS网站地图模板

    亲和百度蜘蛛,分页多层次特色,织梦系统最好用的网站地图! 用 DedeCMS(织梦) 系统搭建的网站多数都是以优化为主要目标的网站类型,既然是优化站 SEO 手段就离不开为网站设置网站地图.可是 De ...

随机推荐

  1. Qt之字典划词

    简述 相信大家都用过词典吧!因为英语不太好...O(∩_∩)O~,所以经常进行划词翻译! 简述 实现 效果 源码 更多参考 实现 原理:鼠标移至某单词之上,获取鼠标位置,然后在对应位置进行取词,翻译! ...

  2. Qt之自定义布局管理器(QFlowLayout)

    简述 QFlowLayout,顾名思义-流布局,实现了处理不同窗口大小的布局.根据应用窗口的宽度来进行控件放置的变化. 具体实现要求不再赘述,请参考前两节内容. 简述 实现 效果 源码 实现 QFlo ...

  3. jackson 解析json含有不规则的属性的json字符串的方法

    对于json中含有点号,等其它特殊的,不是规范的java变量名的字符,能够使用一个注解来处理. 贴代码: import com.fasterxml.jackson.annotation.JsonPro ...

  4. 由动态库文件dll生成lib库文件

    本文基于OpenBlas的编译和安装.来说明怎样从一个dll文件生成lib库文件. 參考OpenBlas的说明"Howto generate import library for MingW ...

  5. sass06 mixin

    scss @mixin cont{ //mixin是关键字 color:red; } body{ @include cont; //使用默认值 } @mixin cont($color: red ){ ...

  6. hdu_2795,线段树,单点更新

    #include<iostream> #include<cstdio> #include<cstring> #define lson l,m,rt<<1 ...

  7. 51nod-1131: 覆盖数字的数量

    [传送门:51nod-1131] 简要题意: 给出A,B,表示有一个区间为A到B 给出X,Y,表示有一个区间为X到Y 求出X到Y中能够被A到B中的数(可重复)相加得到的不同的数的个数 题解: 乱搞题, ...

  8. 25.不改变原生数据的STL algorithm

    通过仿函数for_each操作 vector<,,,, }; list<double> db{ 1.1,2.2,3.3,4.4,5.5 }; //循环算法,算法的泛型 print p ...

  9. jquery的append/prepend和after/before有什么区别呢?

    append <p> <span class="s1">s1</span> </p> <script> $(" ...

  10. sql查询每个学生的最高成绩mysql语句

    张三 语文 100 张三 数学 83 李四 语文 88 李四 数学 100 查询每个学生的最高成绩. select b.* from (select name,max(score) score fro ...