1. 程式人生 > >TP5快取分頁

TP5快取分頁

  1. php控制器判斷是否為ajax請求
  1. //分頁變數

  2. $page=$articles->render();

  3. $this->assign('page',$page);

  4. //文章變數

  5. $this->assign('articles', $articles);

  6. //判斷ajax請求,渲染到不同模板

  7. if(request()->isAjax()){

  8. //return $articles;

  9. //如果是ajax請求,則渲染到該頁面

  10. return $this->fetch('articleList');

  11. }

  12. else {

  13. //否則到該頁面

  14. return $this->fetch('articleIndex');

  15. }

  1. 負責ajax請求渲染的模板
  1. <!-- START TABLE -->

  2. <div class="simplebox grid740">

  3. <div class="titleh">

  4. <h3>博文列表</h3>

  5. </div>

  6. <table id="myTable" class="tablesorter">

  7. <thead>

  8. <tr>

  9. <th>#ID</th>

  10. <th>作者</th>

  11. <th>分類</th>

  12. <th>標題</th>

  13. <th>釋出日期</th>

  14. <th>評論數量</th>

  15. <th>狀態</th>

  16. <th>操作</th>

  17. </tr>

  18. </thead>

  19. <tbody>

  20. {volist name='articles' id='article' key="k"}

  21. <tr>

  22. <td>{$k}</td>

  23. <td>作者</td>

  24. <td>{$article.c_name}</td>

  25. <td>{$article.name}</td>

  26. <td>{$article.publishtime|date="y-m-d",###}</td>

  27. <td>{$article.id|count}</td>

  28. <td>{$article.status}</td>

  29. <td>

  30. <form action="\article\{$article.id}\edit" name="edit">

  31. <button>編輯</button>

  32. </form>

  33. <form action="\article\{$article.id}" name="delete" method="post">

  34. <button onclick="return confirm('是否確定刪除文章:{$article.c_name}?');">刪除</button>

  35. <input type="hidden" name="_method" value="DELETE">

  36. </form>

  37. </td>

  38. </tr>

  39. {/volist}

  40. </tbody>

  41. </table>

  42. {$page}

  43. </div>

  44. <!-- END TABLE -->

  1. 正式訪問頁面執行ajax請求
  1. {literal}

  2. <script>

  3. $(function () {

  4. //給id為list的元素代理繫結下面所有的a元素"click"事件

  5. $("#list").on("click",".pagination a",function() {

  6. //取a標籤的href即url傳送ajax請求

  7. $.get($(this).attr('href'),function(html){

  8. //返回資料輸出到id為list的元素中

  9. $('#list').html(html);

  10. });

  11. //阻止預設事件和冒泡,即禁止跳轉

  12. return false;

  13. })

  14. })

  15. </script>

  16. {/literal}

  17. <div id="list">

  18. <!-- START TABLE -->

  19. <div class="simplebox grid740">

  20. <div class="titleh">