• 普京力挽狂澜,从北高加索平叛到格鲁吉亚兴兵,从克里米亚回归到叙利亚反恐,给了俄罗斯人民新生——这一切都是和中国同志的支持分不开的。 2019-03-18
  • 合肥:敬业医生头天接受手术 次日打着吊瓶工作 2019-03-18
  • “一带一路”中小企业国际合作高峰论坛三大亮点 2019-03-14
  • “自己做不到的事情,还看不得别人做”.....好像目前正在热议的特朗谱长公主伊万卡在推特上引用的一句“中国谚语”.....巧合吗? 2019-03-14
  • 山西拨付2.7亿元资金支持全省七大河流生态修复治理 2019-03-06
  • 【诗会马克思】第四期 :《怪影》节选 2019-02-21
  • 端午节山东无高温、无大雨 整体在30℃左右 2019-02-14
  • 香港特区立法会通过广深港高铁“一地两检”条例草案--旅游频道 2019-02-14
  • 捷途X70X70S正式下线 将于第3季度上市 2019-01-08
  • 2016环球医院院长领导力闭门会议 2019-01-08
  • 当前位置:山西十一选五遗漏10-建站教程-CMS教程-dedecms教程-DedeCMS(织梦)判断简略标题为空则显示完整标题的几种方法

    3d基本走势图带连线图:DedeCMS(织梦)判断简略标题为空则显示完整标题的几种方法

    时间:2018-05-22来源/作者:网站源码库 编辑:源码库 文章热度:

    山西十一选五遗漏10 www.fqjb.net 前言

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

    具体方法如下:

    方法一: 

    {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]

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

    方法三:
     

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

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

               <ul>
                    {dede:arclist titlelen='50' row='10'}
                    <li><a                {/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;"        <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'].'"     
             </dd>
            </dl>
    {/dede:list}

    总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对ASPKU源码库的支持。


    注:相关教程知识阅读请移步到dedecms教程频道。
    相关dedecms教程
    热门标签

    dedecms教程Rss订阅dedecms教程搜索

  • 普京力挽狂澜,从北高加索平叛到格鲁吉亚兴兵,从克里米亚回归到叙利亚反恐,给了俄罗斯人民新生——这一切都是和中国同志的支持分不开的。 2019-03-18
  • 合肥:敬业医生头天接受手术 次日打着吊瓶工作 2019-03-18
  • “一带一路”中小企业国际合作高峰论坛三大亮点 2019-03-14
  • “自己做不到的事情,还看不得别人做”.....好像目前正在热议的特朗谱长公主伊万卡在推特上引用的一句“中国谚语”.....巧合吗? 2019-03-14
  • 山西拨付2.7亿元资金支持全省七大河流生态修复治理 2019-03-06
  • 【诗会马克思】第四期 :《怪影》节选 2019-02-21
  • 端午节山东无高温、无大雨 整体在30℃左右 2019-02-14
  • 香港特区立法会通过广深港高铁“一地两检”条例草案--旅游频道 2019-02-14
  • 捷途X70X70S正式下线 将于第3季度上市 2019-01-08
  • 2016环球医院院长领导力闭门会议 2019-01-08