详解织梦模板DEDE首页列表页AJAX无限加载瀑布流修正版

这篇具有很好参考价值的文章主要介绍了详解织梦模板DEDE首页列表页AJAX无限加载瀑布流修正版。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

最近在学javascript,才慢慢开始读懂JS代码。对HTML前台AJAX加载技术研究了一番,像博客站或者图片站运用AJAX异步无限加载,做成瀑布流,提高用户体验,这是AJAX异步加载的优点。

AJAX异步加载的弊端:属于WEB前端技术,蜘蛛不会抓JS调用的内容,也就是并不利于SEO优化。所以要运用这个功能的话最好有一部分直接调用,另一部分采用AJAX异步加载。

接下来用织梦来做AJAX异步加载WEB前端开发。网上有诸多教程,经过笔者整理,给出详细说明,修正后分享给大家。

打开/plus/list.php,找到

require_once(dirname(__FILE__)."/../include/common.inc.php");

下面增加代码

if(isset($_GET['ajax'])){
$typeid = isset($_GET['typeid']) ? intval($_GET['typeid']): 0;//传递过来的分类ID
$page = isset($_GET['page']) ? intval($_GET['page']): 0;//页码
$pagesize = isset($_GET['pagesize']) ? intval($_GET['pagesize']): 15;//每页多少条,也就是一次加载多少条数据
$start = $page>0 ? ($page-1)*$pagesize : 0;//数据获取的起始位置。即limit条件的第一个参数。
$typesql = $typeid ? " WHERE typeid=$typeid" : '';//这个是用于首页实现瀑布流加载,因为首页加载数据是无需分类的,所以要加以判断,如果无需
$total_sql = "SELECT COUNT(id) as num FROM `dede_archives`  $typesql ";
$temp = $dsql->GetOne($total_sql);
$total = 0;//数据总数
$load_num =0;
if(is_array($temp)){
$load_num= round(($temp['num']-15)/$pagesize);//要加载的次数,因为默认已经加载了
$total = $temp['num'];
}
$sql = "SELECT a.*,t.typedir,t.typename,t.isdefault,t.defaultname,t.namerule,
t.namerule2,t.ispart, t.moresite,t.siteurl,t.sitepath
FROM `dede_archives` as a JOIN `dede_arctype` AS t ON a.typeid=t.id    $typesql ORDER BY id DESC LIMIT $start,$pagesize";
//echo "$sql";
$dsql->SetQuery($sql);
$dsql->Execute('list');
$statu = 0;//是否有数据,默认没有数据
$data = array();
$index = 0;
while($row = $dsql->GetArray("list")){
$row['info'] = $row['info'] = $row['infos'] = cn_substr($row['description'],160);
$row['id'] =  $row['id'];
$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://#i", $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['fulltitle'] = $row['title'];//完整的标题
$row['shorttitle'] = $row['shorttitle'];//副标题
$row['title'] = cn_substr($row['title'], 60);//截取后的标题
$data[$index] = $row;
$index++;
}
if(!empty($data)){
$statu = 1;//有数据
}
$result =array('statu'=>$statu,'list'=>$data,'total'=>$total,'load_num'=>$load_num);
echo json_encode($result);//返回数据
exit();
}

模板文件增加内容

在需要用AJAX异步加载的模板的前增加代码



首页HTML代码示例

注意:首页模板用arclist标签,用row='3'是初始化调用的3条;列表模板用list标签,用pagesize='3'。模板里面的

与js里面的data-list对应,需要把循环部分全部包裹起来



{dede:arclist row='3'}
 [field:array runphp='yes']@me = (empty(@me['litpic']) ? "" : ""); [/field:array]
[[field:typelink/]] [field:title/]  日期:[field:pubdate function="GetDateTimeMK(@me)"/] 点击:[field:click/] 好评:[field:scores/] 
 [field:description/]... 

{/dede:arclist}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持yii666。文章来源地址https://www.toymoban.com/news/detail-433159.html

到了这里,关于详解织梦模板DEDE首页列表页AJAX无限加载瀑布流修正版的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • dede织梦文章列表隔行换色的方法

    下面给大家分享一段代码能让织梦文章列表背景实现隔行换色效果:具体代码如下,大家可以根据自己的需要进行修改: 示例代码如下: \\\"; $adminbuy.cn_b=\\\"\\\";if ((@me%2)==0) @me=$\\\'adminbuy.cn_a; else @me=$\\\'adminbuy.cn_b;[/field:global][field:title/]{/dede:arclist} 通过上边示例可以看出: 此代码使用了

    2024年02月02日
    浏览(66)
  • dedecms织梦模板列表页单独调用总页数二次开发教程详解

    本文介绍了dedecms织梦模板列表页单独调用总页数二次开发教程,分享给大家,也给自己留个笔记,具体如下: 效果演示: 利用{dede:pagelist listitem=\\\"info,index,end,pre,next,pageno,option\\\" listsize=\\\"3\\\"/} 找到了一个比较快的一个独立调用的办法。 开发方法 1、打开 include/arc.listview.class.php 找

    2024年02月02日
    浏览(38)
  • 织梦dede模板内怎么加入php代码的方法示例

    一、模板页面内嵌入php 例如: 最终输出结果为hello world 其实\\\"name\\\"为任意定义的名字,\\\"@me=\\\"后面的值是最终用于输出的值,我就拿它代替echo来用(如果直接用echo,模板生成的时候报错,这就是有所限制的地方,唉)。 二、引用php文件 如果你想在include的文件中使用PHP,则加上

    2024年02月02日
    浏览(40)
  • 织梦DEDE会员空间文章列表无法分页的问题的解决

    织梦内容管理系统(dedecms) 以简单、实用、开源而闻名,是国内最知名的PHP开源网站管理系统,也是使用用户最多的PHP类CMS系统,在经历多年的发展,目前的版本无论在功能,还是在易用性方面,都有了长足的发展和进步,DeDecms免费版的主要目标用户锁定在个人站长,功能更

    2024年02月02日
    浏览(30)
  • dede栏目列表首页与第一页链接出现重复的解决办法

    DEDECMS是SEO优化做得比较好的程序之一,但仍然有一些细节问题没处理好,今天要介绍的就是织梦dede栏目分页URL链接地址的SEO优化方法,在PHP7环境下测试通过 dede的栏目列表分页链接,仔细观察会发现,在栏目的首页会存在两个内容相同的2个不同url: 一个是在其他页面链接的栏目首页

    2024年02月02日
    浏览(67)
  • 织梦模板用{dede:sql}标签如何实现分页的示例代码

    近研究了一下织梦CMS系统,看到一篇关于sql标签调用数据列表如何翻页的文章,感觉不错,贴出来大家分享一下。相信很多使用dedecms的朋友在网上查找关于dede:sql标签进行分页的解决方案时都不尽如人意,尤其是在列表页使用dede:sql调用外部数据(所谓调用外部数据就是指在

    2024年02月02日
    浏览(33)
  • 织梦模板DEDECMS首页301重定向的代码教程

    DEDECMS首页301重定向,将不带www的主域名定向到带www 把上边的代码加入到首页index.php中 的上边。 但请注意了:如果你的默认首页index.html排在了index.php上面,那么以上方法就不管用了。 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持yii666。

    2024年02月02日
    浏览(32)
  • 详解织梦dedecms标签{dede:flink /}用法

    织梦dedecms标签{dede:flink /}用法 首先来了解一下{dede:flink/}的使用,主要支持下边几个属性,type、row、titlelen、linktype、typeid。 1、type属性即type=’text’、type=’image’和type=’textall’。type=’text’是纯文本链接,type=’image’是带有logo的图片链接形式,而type=’textall’则是所有的

    2024年02月02日
    浏览(22)
  • 详解解决织梦dede:title字数限制的两种方法

    织梦title字数怎样限制呢?相信对织梦cms熟悉的朋友来说,这真不是一个问题。当然了,有些方法并不能通用,在特殊情况下,是没有效果的哦。好了,别的不说了,给大家贴两种常用的方法吧。 织梦cms限制title字数的两种方法: 方法一:直接使用 titlelen属性 比如我想使标题

    2024年02月02日
    浏览(38)
  • DedeCMS织梦后台模板列表如何按字母排序方法代码

    我们知道织梦dedecms系统的后台文件, 默认的排序很乱, 不是按名称, 也不是按时间, 如果目录内容很多的话, 很难找到自己想要的文件,实在是太不方便了, 就像下图的排列方式那样,找不到规律。 于是想让这些文件列表按名字排序, 看了一下后台的文件, 原来是因为php的函数

    2024年02月02日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包