帝国cms 加载更多的实现(父栏目以及子栏目都可以实现)
1、
- <div class="pagelist"> <span id="loadmore" class="btn" style="display: block;">加载更多</span> </div>
找到加载更多的按钮,设置好id(最好用id,比较容易遍历)。
2、
- <ul id="showajaxnews" style="opacity: 1; top: 0px;">
- [!--empirenews.listtemp--]<!--list.var1-->[!--empirenews.listtemp--]
- </ul>
找到列表内容模板的标签,也设置好id。
3、
- <script>
- $(function () {
- var i = 1;
- $('#loadmore').click(function () {
- $.ajax({
- url: '域名/e/action/getmore.php',
- type: 'POST',
- data: {
- "next": i,
- 'table': 'news',
- 'classid': '[!--self.classid--]', /*这个标签获取的当前id*/
- 'action': 'getmorenews',
- 'limit': 4,
- 'small_length': 120
- },
- dataType: 'html',
- beforeSend: function () {
- $("#loadmore").show().html(
- '<img src="/images/loaduai.gif" alt="正在努力加载中...');
- $('#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>
ajax放到加载更多的下边,记得一定要引入Jquery.
4、
下边标红的,我这里做了一个$classid的判断,意思就是当栏目是父栏目7的时候,调用栏目id 8 和 9 的所有数据。按照自己的情景设置即可。
- <?php
- require('../class/connect.php');
- require('../class/db_sql.php');
- require('../data/dbcache/class.php');
- if ($_POST[action] == 'getmorenews') {
- $table = htmlspecialchars($_POST[table]);
- if (empty($_POST[orderby])) {
- $orderby = 'newstime';
- } else {
- $orderby = htmlspecialchars($_POST[orderby]);
- }
- if (empty($_POST[myorder])) {
- $myorder = 'desc';
- } else {
- $myorder = 'asc';
- }
- if (empty($_POST[limit])) {
- $limit = 6;
- } else {
- $limit = (int) $_POST[limit];
- }
- if (empty($_POST[classid])) {
- $where = null;
- } else if ($_POST[classid] == 7) {
- $where = 'where classid in("8,9")';
- } else {
- $where = 'where classid in(' . $_POST[classid] . ')';
- }
- if (empty($_POST[length])) {
- $length = 50;
- } else {
- $length = (int) $_POST[length];
- }
- if (empty($_POST[small_length])) {
- $small_length = 500;
- } else {
- $small_length = (int) $_POST[small_length];
- }
- // next:第几页
- // table:调用数据表
- // limit:每次调用数量
- // small_length:简介截取字符数
- // length:标题截取字符数
- // classid:调用栏目,允许多个,如1,2,3,4 特别注意,必须是调用同一数据表的栏目
- // orderby:排序,默认是newstime,传什么就按什么来排序,如 id
- // myorder:正反序,默认是asc,传值怎为desc
- $link = db_connect();
- $empire = new mysqlquery();
- $num = (int) $_POST['next'] * $limit;
- if ($table) {
- $sql = $empire->query("SELECT * FROM `" . $dbtbpre . "ecms_" . $table . "` $where order by $orderby $myorder limit $num,$limit");
- while ($r = $empire->fetch($sql)) {
- if ($r[mtitlepic] == '') {
- $r[mtitlepic] = $public_r[news . url] . "e/data/images/notimg.gif";
- }
- $oldtitle = stripSlashes($r[title]);
- $title = sub($oldtitle, '', $length);
- $smalltext = stripSlashes($r[smalltext]);
- $smalltext = sub($smalltext, '', $small_length);
- $classname = $class_r[$r[classid]][classname];
- $newsurl = $public_r[newsurl];
- $classurl = $newsurl . $class_r[$r[classid]][classpath];
- $urls = sys_ReturnBqTitleLink($r);
- ?>
- <!-- 以下代码是显示列表的标签模板 ,按照情景修改即可。-->
- <li>
- <a href="<?= $urls ?>">
- <div class="img">
- <img src="<?= $r[titlepic] ?>" class="lazy"></div>
- <div class="con">
- <h2>
- <?= $r[title] ?>
- </h2>
- <p>
- <?= $r[smalltext] ?>
- </p>
- <span>
- <?= date("Y-m-d", $r[newstime]) ?>
- </span>
- </div>
- <div class="more">
- <span></span>
- </div>
- </a>
- </li>
- <?php
- }
- }
- }
- db_close();
- $empire = null;
- ?>
建立一个getmore.php文件,把上边代码上传到/e/action/文件中
帝国cms 加载更多的实现(父栏目以及子栏目都可以实现)的更多相关文章
- 关于Vue中页面(父组件)下拉,页面中的子组件加载更多数据的实现方法
一个项目中存在很多这种情况:父组件(页面)中的子组件需要做下拉加载更多的需求,但是这个下拉到底部的动作只能通过监控页面(父组件)来完成 这就需要父子组件之间的通信,代码如下: 1. 建立一个用于父子组 ...
- mui的上拉加载更多 下拉刷新 自己封装的demo
----------------------------------------------- 这是一个非常呆萌的程序妹子,深夜码的丑代码------------------------------- ...
- 基于 Vue.js 的移动端组件库mint-ui实现无限滚动加载更多
通过多次爬坑,发现了这些监听滚动来加载更多的组件的共同点, 因为这些加载更多的方法是绑定在需要加载更多的内容的元素上的, 所以是进入页面则直接触发一次,当监听到滚动事件之后,继续加载更多, 所以对于无 ...
- 使用vue之directive设计列表加载更多
背景 之前写过一篇<纯JS实现加载更多(VUE框架)>,它的逻辑思路比较清晰易懂,而今天看了一天公司项目的部分功能代码,发现同事们写的加载更多的功能更加的有趣,而且易于封装到一个组件当中, ...
- 纯JS实现加载更多(VUE框架)
<template> <div class = 'car_list' reft='scrollobx' @scroll='scrollready($event)'> </ ...
- react-native ListView 封装 实现 下拉刷新/上拉加载更多
1.PageListView 组件封装 src/components/PageListView/index.js /** * 上拉刷新/下拉加载更多 组件 */ import React, { Com ...
- vue2.0 自定义 下拉刷新和上拉加载更多(Scroller) 组件
1.下拉刷新和上拉加载更多组件 Scroller.vue <!-- 下拉刷新 上拉加载更多 组件 --> <template> <div :style="mar ...
- Android 实现下拉刷新和上拉加载更多的RECYCLERVIEW和SCROLLVIEW
PullRefreshRecyclerView.java /** * 类说明:下拉刷新上拉加载更多的RecyclerView * Author: gaobaiq * Date: 2016/5/9 18 ...
- mui实现分页上拉加载更多 下拉刷新数据的简单实现 移动端下拉上拉
空下来把mui上拉加载更多,下拉刷新数据做了一个简单的实现,希望可以帮助到需要的朋友 demo项目的结构 <!DOCTYPE html> <html> <head> ...
随机推荐
- k8s-helm02-----helm常用命令
查看在存储库中可用的所有 Helm charts helm search helm status 查询一个特定的 Release 的状态. helm status XXX
- flutter 常用plugins
搜索plugins flutter plugins搜索地址 谷歌官方plugins https://pub.dev/packages?q=http 到这个链接里面去搜索 https://github. ...
- java.lang.reflect.Method.getAnnotation()方法示例【通过反射获取到方法对象再获取方法对象上的注解信息】
转: java.lang.reflect.Method.getAnnotation()方法示例 java.lang.reflect.Method.getAnnotation(Class <T&g ...
- MySQL数据库同步工具的设计与实现
一.背景 在测试过程中,对于不同的测试团队,出于不同的测试目的,我们可能会有多套测试环境.在产品版本迭代过程中,根据业务需求,会对数据库的结构进行一些修改,如:新增表.字段.索引,修改表.字段索引等操 ...
- 数组setArray和addObjectsFromArray的区别
-setArray:用另一个数组中的所有对象来替换当前数组中的所有对象 -addObjectsFromArray:在原数组最后添加另一个数组的全部对象 NSArray *arr = @["] ...
- 九大内置对象 and HTTP略微的个人见解
jsp 中九大内置对象: 请求对象:request 输出对象:out 响应对象:response 应用程序对象:application 会话对象:sess ...
- docker 导出多个镜像合并成一个tar
导出单个镜像 docker save [images] > [name.tar] 倒出多个镜像合并成一个tar包 docker save [images] [images] > [name ...
- v-model语法糖在组件中的使用
原文地址 v-model 主要是用于表单上数据的双向绑定 一:基本 1:主要用于 input,select,textarea,component 2:修饰符: .lazy- 取代input监听chan ...
- 这可能是你少有的能get到测试用例编写精髓的机会!
自动化测试用例的编写是实现项目自动化的核心,合理的用例设计是保证自动化效益和实用性的关键,也直接决定了自动化脚本是否具备可扩展和可维护性.由此,本篇文章主要为大家介绍了测试用例编写的规范和注意事项. ...
- 快速搭建WordPress博客
博主在看了朋友的博客后 决定也搭建一个wordPress 博客 思路 1.购买服务器 2.Cenots环境配置 3.安装wordpress 工具 推荐使用 Xshell 6,当然也可以用其他 服务器推 ...