Typecho 实现首页循环加载的一种思路
在制作模板的时候需要实现首页无限加载的功能,大概就是在第一页点击加载更多然后将第一页和第二页结合显示。
这里简单讨论下思路。
假如皮肤文件index.php中的代码如下:
next():)?>
title() ?>
excerpt(200);?>
注意:本文所有代码仅作演示,用于说明实现思路,并没有实际调试过。
首先,增加js代码,当页面滚动到最后,或者点击按钮“加载更多”时,ajax方式加载新文章列表。
next():)?>
title() ?>
excerpt(200);?>
代码说明:点击“加载更多”按钮时,调用 load_more_post函数,并加载下一页的文章内容。注意加载的url中加了一个 load_type=ajax参数,用于标示该请求是ajax方式加载。
然后,继续修改index.php皮肤文件,增加如下代码:
<?php if(isset($_GET['load_type']) and $_GET['load_type'] == 'ajax'): ?>
<?php while($this->next():)?>
title() ?>
excerpt(200);?>
<?php endwhile?>
<?php return; //完成ajax方式返回,退出此页面?>
<?php endif ?>
汇总index.php代码如下:
<?php //这一段,ajax方式加载文章列表 ?>
<?php if(isset($_GET['load_type']) and $_GET['load_type'] == 'ajax'): ?>
<?php while($this->next():)?>
title() ?>
excerpt(200);?>
<?php endwhile?>
<?php return; //完成ajax方式返回,退出此页面?>
<?php endif ?>
<?php //这一段开始,正常的首页输出 ?>
next():)?>
title() ?>
excerpt(200);?>
THE END