
之前通过帝国cms 加载更多升级版 已经了解了这个功能的使用,但是帝国大数据应用下 只有news表是不够的,可能会有很多个数据表 例如一个栏目一个数据表 那么这个功能也就失效了
如上图栏目有很多文章却不再加载出来了.....
下面说一下解决思路:
首先让我到数据字典

既然我们在列表页 那么一定会跟栏目表有关联 从字典可以看到这里会关联记录当前栏目表名
我们只需要知道这个 就能解决不同栏目不同表的数据请求问题
那么怎么取出这个字段的值?
用灵动查这个表吗?太复杂
用php 查sql 再显示 还是觉得复杂
我们写一个最简单的,构建组合
<?=$class_r[$GLOBALS[navclassid]][tbname]?>
取出表,将这个代码替换我们的js中对应位置 如:
<script>
$(function(){
var i = 1; //设置当前页数
window.onscroll = function(){
var scrollTop = document.body.scrollTop;
var bot = 50; //bot是底部距离的高度
if ((bot + $(window).scrollTop()) >= ($(document).height() - $(window).height())) {
$.ajax({
url : '/e/action/getmore.php',
type:'POST',
data:{"next":i,'table':'<?=$class_r[$GLOBALS[navclassid]][tbname]?>','classid':'[!--self.classid--]','action':'getmorenews','limit':12,'small_length':120},
dataType : 'html',
beforeSend:function(){
$("#loadmore").show().html('<img src="/images/loaduai.gif" width=23/> 正在努力加载中...');
$('#loadmore').attr('disabled','disabled');
},
success : function(data){
if(data){
$("#showajaxnews").append(data);
$("#loadmore").removeAttr('disabled');
$("#loadmore").html('下拉加载更多');
i++;
}else{
$("#loadmore").show().html("已全部加载完毕!");
$('#loadmore').attr('disabled','disabled');
return false;
}
}
});
}
}
});
</script>
保存模版 刷新
如果你的网站没有刷新 那么需要 清除临时文件和数据 并刷新动态页 即可
..