在线客服与您一对一交流
当前位置: 主页 > 行业新闻 > IT技术 >

织梦dedecms 首页列表点击加载更多ajax实现瀑布流效果

使用方法:

?1、加载是用AJAX,需要先引用jQuery
2、模板在arcajax.php第二十八行请自行按需修改
3、arcajax.php放到plus目录下

HTML和js代码:

?
加载中
PHP代码(arcajax.php):
require_once(dirname(__FILE__)."/../include/common.inc.php");
require_once(DEDEINC.'/channelunit.class.php');
require_once(DEDEINC.'/taglib/arcpagelist.lib.php');
  
$pnum = empty($pnum)? 0 : intval(preg_replace("/[^\d]/",'', $pnum));
$typeid = empty($typeid)? 0 : intval(preg_replace("/[^\d]/",'', $typeid));
  
if($typeid==0 || $pnum==0) die(" Request Error! ");
  
if($typeid > 0)
{
    $titlelen = AttDef($titlelen,30);
    $infolen = AttDef($infolen,160);
    $imgwidth = AttDef($imgwidth,120);
    $imgheight = AttDef($imgheight,120);
    $listtype = AttDef($listtype,'all');
    $arcid = AttDef($arcid,0);
    $channelid = AttDef($channelid,0);
    $orderby = AttDef($orderby,'default');
    $orderWay = AttDef($order,'desc');
    $subday = AttDef($subday,0);
    $line = $row;
    $artlist = '';
    //通过页面及总数解析当前页面数据范围
    $strnum = ($pnum-1) * 12;
    $limitsql = " LIMIT $strnum,12 ";
    $innertext = '
  •            
               

    [field:title/]

               

    [field:description function="cn_substr(@me,150)"/]

                浏览案例
            ';//模板
              
      //处理列表内容项
        $query = "SELECT arc.*,tp.typedir,tp.typename,tp.corank,tp.isdefault,tp.defaultname,tp.namerule,tp.namerule2,tp.ispart,
            tp.moresite,tp.siteurl,tp.sitepath FROM `dede_archives` arc LEFT JOIN `dede_arctype` tp ON arc.typeid=tp.id
          WHERE arc.typeid IN (".GetSonIds($typeid).") ORDER BY arc.sortrank desc $limitsql";
        $dsql->SetQuery($query);
        $dsql->Execute('al');
        $dtp2 = new DedeTagParse();
        $dtp2->SetNameSpace('field', '[', ']');
        $dtp2->LoadString($innertext);
        $GLOBALS['autoindex'] = 0;
        $ids = array();
          
          
      
        for($i=0; $i<12; $i++)
        {
            for($j=0; $j<1; $j++)
            {
                if($row = $dsql->GetArray("al"))
                {
                    $ids[] = $row['id'];
                    //处理一些特殊字段
                    $row['info'] = $row['infos'] = cn_substr($row['description'],$infolen);
                    $row['id'] =  $row['id'];
      
                    if($row['corank'] > 0 && $row['arcrank']==0)
                    {
                        $row['arcrank'] = $row['corank'];
                    }
      
                    $row['filename'] = $row['arcurl'] = GetFileUrl($row['id'],$row['typeid'],$row['senddate'],$row['title'],$row['ismake'],
                    $row['arcrank'],$row['namerule'],$row['typedir'],$row['money'],$row['filename'],$row['moresite'],$row['siteurl'],$row['sitepath']);
      
                    $row['typeurl'] = GetTypeUrl($row['typeid'],$row['typedir'],$row['isdefault'],$row['defaultname'],$row['ispart'],
                    $row['namerule2'],$row['moresite'],$row['siteurl'],$row['sitepath']);
      
                    if($row['litpic'] == '-' || $row['litpic'] == '')
                    {
                        $row['litpic'] = $GLOBALS['cfg_cmspath'].'/images/defaultpic.gif';
                    }
                    if(!preg_match("#^http:\/\/#", $row['litpic']) && $GLOBALS['cfg_multi_site'] == 'Y')
                    {
                        $row['litpic'] = $GLOBALS['cfg_mainsite'].$row['litpic'];
                    }
                    $row['picname'] = $row['litpic'];
                    $row['stime'] = GetDateMK($row['pubdate']);
                    $row['typelink'] = "".$row['typename']."";
                    $row['image'] = "".preg_replace("#[<]#", "", $row['title'])."'>";
                    $row['imglink'] = "".$row['image']."";
                    $row['fulltitle'] = $row['title'];
                    $row['title'] = cn_substr($row['title'],$titlelen);
                    if($row['color']!='') $row['title'] = "".$row['title']."";
                    if(preg_match('#b#', $row['flag'])) $row['title'] = "".$row['title']."";
                    //$row['title'] = "".$row['title']."";
      
                    $row['textlink'] = "".$row['title']."";
      
                    $row['plusurl'] = $row['phpurl'] = $GLOBALS['cfg_phpurl'];
                    $row['memberurl'] = $GLOBALS['cfg_memberurl'];
                    $row['templeturl'] = $GLOBALS['cfg_templeturl'];
      
                    if(is_array($dtp2->CTags))
                    {
                        foreach($dtp2->CTags as $k=>$ctag)
                        {
                            if($ctag->GetName()=='array')
                            {
                                //传递整个数组,在runphp模式中有特殊作用
                                $dtp2->Assign($k,$row);
                            } else {
                                if(isset($row[$ctag->GetName()])) $dtp2->Assign($k,$row[$ctag->GetName()]);
                                else $dtp2->Assign($k,'');
                           }
                        }
                        $GLOBALS['autoindex']++;
                    }
                    $artlist .= $dtp2->GetResult()."\r\n";
                }//if hasRow
                else {
                    $artlist .= '';
                }
            }//Loop Col
        }//loop line
        $dsql->FreeResult("al");    
    } else
    {
         die(" Request Error! ");
    }
    AjaxHead();
    echo $artlist;

     

    exit();

    这样就可以实现列表页无限加载,如果需要首页无限加载最新文章,删除typeid相关的代码即可!

    相关文章:

    • 帝国CMS是什么程序 帝国CMS是一套开源的静态页面程序,凭借超高的扩展性,很多知名的新闻站点、行业站点都是应用的帝国CMS后端。因为帝国CMS和dedecms一样都是生成静态页面的,所以非常利于...

    • 域名解析DNS分为显性URL和隐形URL,显性URL和隐形URL有什么区别?隐形URL和显性URL哪个更有利于SEO?显性URL相当于域名了302重定向,隐形URL使用iframe框架技术隐藏真实目标地址,显性URL更有利于...

    • 在常见的CMS系统中,我对dedecms算是比较熟悉的,自己网站用的也是这个系统。系统功能强大使用灵活,相信这也是它受到大多数中小站长青睐的原因。 再好的系统也有照顾不周的地方,很多站...

    • 这篇文章主要为大家详细介绍了dedecms后台增加php导出excel功能实现办法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,有需要的朋友可以收藏方便以后借鉴。 不少朋友希望织梦的后台...

    • 第一次使用的插件是 pdfobject.js 百度网盘下载地址:http://pan.baidu.com/s/1kUPhYdT 加载 script src=/style/js/pdfobject.js /script script type=text/javascript window.onload = function (){ var success = new PDFObject({ url: pdf文件地...

    • 网上有一种方法是copy+unlink来移动文件,但是遇到大文件时会消耗大量时间,对性能不怎么友好,可以使用rename()来移动文件,速度非常快 关于rename()函数 bool rename ( string $oldname , string $newname...

    • 基于我们公司可选的几种推广方式: 一、关键词优化排名推广(推荐) 指定关键词推广,按天付费,推广我们业务中最重要的一些关键词,达到百度首页才收费,大概一个关键词10元/天左右。...

    • 插件介绍 wordpress程序网站在发布文章时可以给每一片文章添加与之相关的TAG标签,对于TAG标签可以生成很多页面,增加搜索引擎对内容的抓取量。 WP Auto Keywords插件就是一款能自动给文章添加...

    • 5.7 生成列表页 改动 include/arc.listview.class.php 1.先设置 关闭副栏目(在系统----系统基本参数性能选项里) 2.一般网站不需要 栏目交叉 交叉 所以 找到94行注释掉: //获得交叉栏目ID /*if($this-Type...

    • 使用preg_replace将删除所有空白(包括制表符等) $string = user na me $string = preg_replace(/\s+/, , $string); echo $string; // username preg_replace(/\s/u, ,$string) u (PCRE8) 此修正符打开一个与perl不兼容的附加功能. 模式...

    • 公司:新浦金350vip!
    • 联系人:张经理
    • 手机/微信:
    • Q Q: 点击这里给我发消息
    • 地址:西安市雁塔区唐延南路11号逸翠园i都会