GVKun编程网logo

织梦DEDECMS新闻内容图片延迟加载懒加载的办法(上传到织梦的网站没有图片)

14

本文将分享织梦DEDECMS新闻内容图片延迟加载懒加载的办法的详细内容,并且还将对上传到织梦的网站没有图片进行详尽解释,此外,我们还将为大家带来关于DEDECMS在其它页面调用单页新闻内容并过滤HTM

本文将分享织梦DEDECMS新闻内容图片延迟加载懒加载的办法的详细内容,并且还将对上传到织梦的网站没有图片进行详尽解释,此外,我们还将为大家带来关于DEDECMS在其它页面调用单页新闻内容并过滤HTML代码的办法、DedeCMS文章内容图片延迟加载、DedeCMS新闻内容Keywords的BUG及修正办法、Dedecms新闻内容分页{dede:pagebreak/}调用办法的相关知识,希望对你有所帮助。

本文目录一览:

织梦DEDECMS新闻内容图片延迟加载懒加载的办法(上传到织梦的网站没有图片)

织梦DEDECMS新闻内容图片延迟加载懒加载的办法(上传到织梦的网站没有图片)

 

DedeCMS首页、列表实现延迟加载参考《织梦网站图片Lazyload延迟加载懒加载技术》, download两个必要文件。
必要JSdownload地址:https://pan.百度.com/s/13rl1KM_RbXVj-v714NsqaA         密码:85en
在</head>之前加入如下代码
<script data-original="jquery-1.11.0.min.js"></script><!--请download到本地-->
<script data-original="jquery.lazyload.js"></script><!--请download到本地-->
<script type="text/javascript" charset="utf-8">$(function(){$("img.lazy").lazyload({effect: "fadeIn"});});</script>
修改新闻内容body图片标签,加上,替换src为data-original,即
< img src='图片地址' alt='图片说明'/>
修改为
< imgdata-original='图片地址'alt='图片说明'/>
用到PHP函数str_replace。语法:
str_replace(find,replace,string,count)
find 必需,规定要查找的值。
replace 必需,规定替换 find 中的值的值。
string 必需,规定被搜索的字符串。
count 可选,一个变量,对替换数进行计数。
替换多个查找值需要放到array里面,如
str_replace(array("a" , "b") , array("c" , "d") , abcde); //a替换成c,b替换成d,*后输出:cdcde
修改办法一
打开include/arc.archives.class.php,找到
//设置全局环境变量
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
@SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['id'],$this->Fields['title'],'archives');
第二行修改为
@SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['id'],$this->Fields['title'],
$this->Fields['body']=str_replace(array("<img","src"),array("<img","data-original"),$this->Fields['body']),'archives');
这个办法不灵活,会把body里面所有“<img”、“src”都替换,一般的网站还行。另外还有附件路径原来是相对路径,做了**路径修改也需要用到srt_replace函数,干脆整合到一起,修改如下: 
修改办法二
打开included/extend.fuc.php,在*后面增加ImgUrl函数,下面橙色部分为你的域名:
function ImgUrl($newurl){
$newurl = str_replace('src="/uploads/','data-original="',$newurl);
return $newurl;
}
源码调用
{dede:field.body function='ImgUrl(@me)'/}
修改办法三
可以把PHP函数直接写到源码里面,源码调用:
{dede:field.body function="str_replace('src="/uploads/','data-original="',@me)"/} 本文章网址:http://www.ppssdd.com/code/9762.html。转载请保留出处,谢谢合作!

DEDECMS在其它页面调用单页新闻内容并过滤HTML代码的办法

DEDECMS在其它页面调用单页新闻内容并过滤HTML代码的办法

 

DEDECMS织梦的单页新闻是建设网站一种特别高效的方式,特别方便快捷。不过有时候我们需要在首页或者栏目页面调用某些单页的内容,如首页调用关于我们单页的介绍信息等。织梦DedeCMS如何实现在除单页以外的页面,调用单页的新闻内容呢?

  织梦DedeCMS实现其他页面调用单页新闻内容

  织梦其他页面调用单页新闻内容使用SQL标签首先需要做的,就是把SQL语句写出来,调用的SQL语句如下:

{dede:sql sql="SELECT body FROM `dede_sgpage` where aid = 1" } [field:body function="htmlspecialchars(cn_substr(@me,130))"/] {/dede:sql}

  sql="SELECT body这里的body就是新闻内容字段,FROM `dede_sgpage`这里的dede_sgpage是单页文档数据表,where aid = 1 这里的aid = 1 就是你单页文档所在的id,你需要调用哪个单页文档的内容,就把这个换成所在文档的id就可以了。

  以下的语句则是使用织梦的两个函数,对调用的字段数据进行了必要的处理:

  [field:body function="htmlspecialchars(cn_substr(@me,130))"/]

  field:body 这里的body如上,就是新闻的内容,(cn_substr(@me,130) 这里的130就是你准备让内容显示的字数,可以自己调整。

  采用上述办法虽然可以成功调用,但是会出现一个问题,就是会把源代码也调用出来。

这个时候可以使用下面这个代码

{dede:sql sql="SELECT body FROM `dede_sgpage` where aid = 1" } [field:body function="htmlspecialchars(cn_substr(Html2text(@me),600))"/] {/dede:sql}

 Html2text() 函数是去掉html标签代码。cn_substr(str,750) 函数是截取字符串长度,cn_substr表示截取600个字符换算成汉字就是300个汉字。

这里再做个延伸:怎么任意调用数据库中的内容呢?

其实除了上面的例子外,在Dede系统里面,可以自由使用SQL语句来配合织梦标签进行更多的个性化调用。基本参照格式为:

 代码如下:

{dede:sql sql="select 字段 From 表名称 where 条件语句"}  [field:字段名/]  {/dede:sql}

  由上面这种基本格式,我们就可以基本转换出一条调用文档列表的调用标签了,代码为:

 代码如下:

{dede:sql sql="select * From dede_archives limit 10"}  <li>·<a href="/plus/view.php?aid=[field:id/]">[field:title/]</a></li>  {/dede:sql}

  大家看到了上面的文档链接的底层源码地址的是动态的,那么我们要如何样来进行转换,让他链接到静态地址呢,这里我们只需要对[field:id/]进行一下转换,转换后的完整代码为:

代码如下:

{dede:sql sql="SELECT * FROM dede_archives limit 10"}  <li>·<a href="[field:id runphp='yes'] ]" title="[field:title/]" target="_blank">[field:title function=cn_substr(@me,30,0)/]</a></li>  {/dede:sql}

 

本文章网址:http://www.ppssdd.com/code/10284.html。转载请保留出处,谢谢合作!

DedeCMS文章内容图片延迟加载

DedeCMS文章内容图片延迟加载

Dedecms首页、列表实现延迟加载参考网站图片Lazyload延迟加载技术, 下载两个必要文件。在</head>之前加入如下代码

<script data-original="jquery-1.11.0.min.js"></script><!--请下载到本地-->
<script data-original="jquery.lazyload.js"></script><!--请下载到本地-->
<script type="text/javascript" charset="utf-8">$(function(){$("img.lazy").lazyload({effect: "fadeIn"});});</script>

       修改文章内容body图片标签,加上,替换src为data-original,即

< img src='图片地址' alt='图片说明'/>

       修改为

< imgdata-original='图片地址'alt='图片说明'/>

       用到PHP函数str_replace。语法:

str_replace(find,replace,string,count)

find 必需,规定要查找的值。
replace 必需,规定替换 find 中的值的值。
string 必需,规定被搜索的字符串。
count 可选,一个变量,对替换数进行计数。

       替换多个查找值需要放到array里面,如

str_replace(array("a","b"),array("c","d"),abcde); //a替换成c,b替换成d,最后输出:cdcde

修改方法一

      打开include/arc.archives.class.PHP,找到

//设置全局环境变量
$this->Fields['typename'] = $this->TypeLink->TypeInfos['typename'];
@SetSysEnv($this->Fields['typeid'],$this->Fields['typename'],$this->Fields['id'],$this->Fields['title'],'archives');

       第二行修改为

@SetSysEnv($this->Fields['typeid'],$this->Fields['body']=str_replace(array("<img","src"),array("<img","data-original"),$this->Fields['body']),'archives');

       这个方法不灵活,会把body里面所有“<img”、“src”都替换,一般的网站还行,像织梦58博客这样技术性源代码多的就好办了。另外还有附件路径原来是相对路径,做了绝对路径修改也需要用到srt_replace函数,干脆整合到一起,修改如下:

修改方法二

       打开included/extend.fuc.PHP,在最后面增加imgurl函数,下面橙色部分为你的域名:     

function imgurl($newurl){
    $newurl = str_replace('src="/uploads/','data-original="http://www.jb51.cc/uploads/',$newurl);
    return $newurl;
}

       模板调用

{dede:field.body function='imgurl(@me)'/}

修改方法三

       可以把PHP函数直接写到模板里面,模板调用:

{dede:field.body function="str_replace('src="/uploads/','data-original="http://www.jb51.cc<span>/uploads/'</span><span>,</span><span>@me)"/}</span>

上一篇:DedeCMS跳转到移动端适配,获取当前页面URL

下一篇:DedeCMS附加表自定义字段关联主表文章

DedeCMS新闻内容Keywords的BUG及修正办法

DedeCMS新闻内容Keywords的BUG及修正办法

 

使用DEDE的时候,当你用到:“Keywords关连新闻(新闻内容Keywords替换)”这个功能的时候,是不是发现达不到预期的效果?,即使你在管理后台系统设置--性能参数里面:“使用Keywords关连新闻:”选择的是,生成新闻后,你也会发现新闻内容中的关键词根本就没有替换成链接,

 

  经过我的检查,找到了解决方案,可能是DEDE技术人员的手误吧,一个判断变量写错了,网站管理后台控制本功能开关的变量是:cfg_keyword_like,,但是DEDE的核心标签文件arc.archives.class.php里面控制本功能的变量是:cfg_keyword_replace,这样的话,肯定就控制不了

本文章网址:http://www.ppssdd.com/code/4473.html。转载请保留出处,谢谢合作!

Dedecms新闻内容分页{dede:pagebreak/}调用办法

Dedecms新闻内容分页{dede:pagebreak/}调用办法

 

在用织梦CMS做新闻内容详细页时,需要显示分页效果就要用{dede:pagebreak/},通常用的办法如下:
在新闻内容的div下面加入如下代码:
<div >
   <ul >
    {dede:pagebreak/}
   </ul>
  </div>
上面是默认源码中的div代码,样式你也可以直接复制默认的css。当然你也可以设置自己的css。



    织梦内容分页很多时,分页就会错误,很不美观,织梦新闻内容详细页pagebreak分页数太多这是个bug,那么能不能控制Dedecms新闻内容分页{dede:pagebreak/}显示页数呢? 答案是能!
    办法很简单,到include/arc_archives.class.php文件中,

查找 for($i=1;$i<=$totalPage;$i++)

替换为:
 
$total_list=7; //显示7个,3*2+1=7 
if($nowPage >= $total_list) { 
$i = $nowPage-3; //前后6个,(7-1)/ 2=3 
$total_list = $nowPage+3; //前后3个,(7-1)/ 2=3 
if($total_list >= $totalPage) 
$total_list = $totalPage;  }else{ 
$i=1; 
if($total_list >= $totalPage) 
$total_list = $totalPage;  } 
for($i;$i<=$total_list;$i++) 
这样 比如我有12页的新闻 就会是如下效果
本文章网址:http://www.ppssdd.com/code/13940.html。转载请保留出处,谢谢合作!

关于织梦DEDECMS新闻内容图片延迟加载懒加载的办法上传到织梦的网站没有图片的介绍现已完结,谢谢您的耐心阅读,如果想了解更多关于DEDECMS在其它页面调用单页新闻内容并过滤HTML代码的办法、DedeCMS文章内容图片延迟加载、DedeCMS新闻内容Keywords的BUG及修正办法、Dedecms新闻内容分页{dede:pagebreak/}调用办法的相关知识,请在本站寻找。

本文标签: