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

资源来源网络,如需授权,请更换源码,模块仅供学习,如需商用请购买正版授权,本栏目不提供技术服务!
如遇蓝奏网盘打不开lanzous替换成lanzoux尝试!

  前言

  相信大家都遇到过,我们在使用织梦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字节,模板代码如下:

  

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

  方法四:

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

  DedeCMS2007即将发布

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

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

  最近还发现了另外一个问题,dede标题链接,有则能链接无则不连接,下面是解决的方法:

  {dede:list pagesize=’15’ orderby=’weight’ orderway=’desc’}

  

  

[field:pubdate function=’strftime(“%Y/%m/%d”,@me)’/]

  

  [field:array runphp=’yes’] if (@me[‘body’]==”) @me=@me[‘title’];else{ @me= ‘‘.@me[‘title’].’‘;}[/field:array]

  

  

  {/dede:list}

  织梦5.7会员中心,由于为了安全性问题,限制了注册会员在会员中心发布信息的时候上传图片,但是管理员登录会员中心发布信息的时候上传图片却不受影响。那该如何解决呢?下面我们来说明一下具体的解决方案。

  首先,具体的问题为,注册会员点击图片上传,预览选择好本地图后点击上传到服务器上

  图片上传失败,并无像正常上传图片后提交按钮跳转到相应的图像属性界面上,仅在当前窗口上弹出一个滚动条,上面的滚动条里面提示为“提示:需输入后台管理目录才能登陆”,但因滚动条高度受限制了所以我们看不到提示。想要查看具体的提升信息的话,请点击向下的滚动条一直往下,即可出现文字提示。

  现在知道具体原因后就容易解决问题了,直接搜索织梦网站程序文件夹下的全部包含“提示:需输入后台管理目录才能登陆“的文件,找到includedialogconfig.php文件。其中有段代码

  //检验用户登录状态

  $cuserLogin=new userLogin();

  if($cuserLogin->getUserID() <=0 )

  {

  if(empty($adminDirHand))

  {

  ShowMsg(“提示:需输入后台管理目录才能登录

请输入后台管理目录名:

”, “javascript:;”);

  exit();

  }

  $gurl=“http://www.dede58.com/a/{$adminDirHand}/login.php?gotopage=”.urlencode($dedeNowurl);

  echo “”;

  exit();

  }

  将$cuserLogin=new userLogin();之后的代码进行注释后即可使注册会员正常上传图片,具体注释方法为:

  以上方法虽然解决了注册会员不能上传图片的问题,但是因为注释了该部分代码,导致了任何人都可以通过点击浏览服务器,查看到uploads目录下的全部目录及文件,大大降低网站的安全性,所以需要进行安全性修复。

  导致问题的根源在于浏览服务器功能降低了网站的安全性,而该功能基本上没有任何用处,那最简单的解决方案就莫过于直接取消这项功能。具体方法为,打开includeckeditorconfig.js文件,注释掉以下代码:

  我们在用DedeCMS自定义表单功能的时候,一般都是在本地测试,成功后再上传到空间实测,把自定义表单备份在空间还原之后,在提交表单的时候却提示“数据校验不对,程序返回 ”,在自定义表单中点击发布信息却并没有这个问题,一切正常。

  DedeCMS自定义表单出现“数据校验证不对,程序返回”的解决方案

  排查一番,终于找出原因,原来自定义表单中中有一个dede_fieldshash值,它的value值是唯一的,每个网站都有单独的value值,这里报错就是因为这个问题,比如如下代码:

  

  

  很简单,打开后台-核心-频道模型-自定义表单value值为:497900ecbac58b031af0c80e589e7649,网站转移之后这个值也会变化,并没有及时修改这个值,导致出错,那么怎么找到这个值呢?

  找到自己设置好的自定义表单,点击“前台预览”

  如果提示前台预览关闭,则点击“修改”,将“前台列表和内容也公开”选项勾选为“完全公开”。

  DedeCMS自定义表单出现“数据校验证不对,程序返回”的解决方案

  在预览自定义表单界面点击右上角的“发布信息”

  DedeCMS自定义表单出现“数据校验证不对,程序返回”的解决方案

  即可到信息发布的页面,查看源代码,找到“ dede_fieldshash”,后面的value值即为我们需要的新的值,放到自己的模版中即可解决“数据校验不对”的报错问题,再去提交表单则提示成功。

©下载资源版权归作者所有;本站所有资源均来源于网络,仅供学习使用,请支持正版!
织梦模板网 » 织梦DedeCMS判断简略标题为空则显示完整标题的几种方法
☉免责声明:本站所有模板均来自用户分享和网络收集,仅供学习与参考,请勿用于商业用途,如果损害了您的权利,请联系网站客服,我们核实后会立即删除。
☉如果源码网盘地址失效!或有其他问题,请点我报错,谢谢合作!
☉人民币与积分汇率为1比10,即1元=10积分.有任何疑问请联系客服
☉如有其他问题,请加网站客服QQ(330921598)进行交流。
☉本站提供的源码、模板、软件工具等其他资源,都不包含技术服务,请大家谅解!
☉源码、模板等资源会随着技术、环境的升级而存在部分问题,还请慎重选择。

发表评论

加入织梦模板网永久VIP 海量资源免费下载

立即查看 了解详情