目錄
phpcms在自定义模块中的自定义标签分页,phpcms分页
首頁 php教程 php手册 phpcms在自定义模块中的自定义标签分页,phpcms分页

phpcms在自定义模块中的自定义标签分页,phpcms分页

Jun 13, 2016 am 09:08 AM
phpcms

phpcms在自定义模块中的自定义标签分页,phpcms分页

如果你是一个经验丰富的phpcms二次开发人员,本篇文章可以忽略不计,因为这里的写法自己都觉得很恶心
        今天在开发一个网站自建了一个模块叫做论坛模块,目录名称:luntan
        在论坛列表页面中需要显示所有的帖子并需要分页来显示,按照phpcms默认模版中标签定义方式
{pc:luntan action="get_send" num="2" page="$_GET[page]"} 按照这种写法在程序中data['limit'] = '0,2' 但是data[page] = NULL
这样接收不到页码,但是由于个人水平研究不明白这里应该要怎么才能将系统中的分页方法加载进来并让它好用,纠结好久想出了一个昏招,希望各位指正,并且如果有好的建议希望各位能够不惜时间,教我一下
要获得论坛发帖的列表需要一个获取的方法,如下

<span>public</span> <span>function</span> get_send(<span>$data</span><span>){
            </span><span>$page</span> = <span>empty</span>(<span>$_GET</span>['page']) ? 1 : <span>intval</span>(<span>$_GET</span>['page'<span>]);
            </span><span>$send_info</span> = <span>$this</span>->luntan_send->listinfo(<span>$where</span> = '', <span>$order</span> = '', <span>$page</span>, <span>$pagesize</span> = 20<span>);
            </span><span>//</span><span>$pages_send = $this->luntan_send->pages;</span>
            <span>for</span>(<span>$i</span> = 0; <span>$i</span> < <span>count</span>(<span>$send_info</span>); <span>$i</span>++<span>){
                </span><span>$type_info</span> = <span>$this</span>->luntan_type->get_one(<span>array</span>('type_id'=><span>$send_info</span>[<span>$i</span>]['send_type_id'<span>]));
                </span><span>$send_info</span>[<span>$i</span>]['send_type_name'] = <span>$type_info</span>['type_name'<span>];
                </span><span>$reply_info</span> = <span>$this</span>->luntan_reply->get_one(<span>array</span>('reply_send_id'=><span>$send_info</span>[<span>$i</span>]['send_id']),'count(*) as reply_send_num'<span>);
                </span><span>$send_info</span>[<span>$i</span>]['send_reply_num'] = <span>$reply_info</span>['reply_send_num'<span>];
            }
            </span><span>//</span><span>echo $pages_send;</span>
            <span>return</span> <span>$send_info</span><span>;
        }</span>
登入後複製

注意在return上面一行的 echo $pages_send; 这里其实是借鉴了后台使用分页的方法让页面可以正常的显示出页码,并且可以做跳转
但是如果解开这个echo $pages_send;那么就没办法在页面中控制其显示的位置,为了让他能按照我的意愿来显示,在这个方法的下面又添加了一个方法,

<span>public</span> <span>function</span> get_send_page(<span>$data</span><span>){
            </span><span>$page</span> = <span>empty</span>(<span>$_GET</span>['page']) ? 1 : <span>intval</span>(<span>$_GET</span>['page'<span>]);
            </span><span>$send_info</span> = <span>$this</span>->luntan_send->listinfo(<span>$where</span> = '', <span>$order</span> = '', <span>$page</span>, <span>$pagesize</span> = 20<span>);
            </span><span>$pages_send</span> = <span>$this</span>->luntan_send-><span>pages;
            </span><span>echo</span> <span>$pages_send</span><span>;
            </span><span>return</span> <span>$send_info</span><span>;
        }</span>
登入後複製

看到两个方法的名称的不同了,get_send  和  get_send_page   差了一个page,这样在里面的函数代码写法上后者由于只是需要显示页码,而前者只需要显示数据,则可以将get_send方法中用于获得页码的调用和输出屏蔽,即
  //$pages_send = $this->luntan_send->pages;
......
//echo $pages_send;
而后者 get_send_page 方法中,则不需要下一步的for循环来处理数据至于返回什么数据也不重要,主要的是利用echo出来的页面,所以这两个函数相同的部分为
$page = empty($_GET['page']) ? 1 : intval($_GET['page']);
$send_info = $this->luntan_send->listinfo($where = '', $order = '', $page, $pagesize = 20);
如果要修改默认页面中显示的个数,需要同事修改两个方法中
$send_info = $this->luntan_send->listinfo($where = '', $order = '', $page, $pagesize = 20);一句的$pagesize变量

 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

phpcms怎麼跳到詳情頁 phpcms怎麼跳到詳情頁 Jul 27, 2023 pm 05:23 PM

phpcms跳到詳情頁方法:1、使用header函數來產生跳轉連結;2、循環遍歷內容清單;3、取得內容的標題和詳情頁連結;4、產生跳轉連結即可。

phpcms是什麼框架 phpcms是什麼框架 Apr 20, 2024 pm 10:51 PM

PHP CMS 是一種基於 PHP 的開源內容管理系統,用於管理網站內容,其特點包括易用性、強大功能、可擴充性、安全性高和免費開源。它可以節省時間、提升網站品質、增強協作並降低開發成本,廣泛應用於新聞網站、部落格、企業網站、電子商務網站和社群論壇等各種網站。

微信登入整合指南:PHPCMS實戰 微信登入整合指南:PHPCMS實戰 Mar 29, 2024 am 09:18 AM

標題:微信登入整合指南:PHPCMS實戰在今日的網路時代,社群化登入已成為網站必備的功能之一。微信作為國內最受歡迎的社群平台之一,其登入功能也被越來越多的網站所採用。本文將介紹如何在PHPCMS網站中整合微信登入功能,並提供具體的程式碼範例。第一步:註冊微信開放平台帳號首先,我們需要在微信開放平台上註冊一個開發者帳號,申請對應的開發權限。登入[微信開放平台]

phpcms不是免費嗎 phpcms不是免費嗎 Mar 01, 2023 am 10:24 AM

phpcms不是完全免費的。 phpcms屬於開源cms系統,但開源並不等於免費,它有兩個版本:免費版和商業版,免費版僅限於個人非商業用途,而商業版需要購買授權;個人可以作為研究使用,如果商業應用,需要支付一定費用。

phpcms是什麼意思 phpcms是什麼意思 Apr 20, 2024 pm 10:39 PM

PHPCMS 是一款免費開源的內容管理系統 (CMS),特色包括:開放原始碼、模組化、靈活、用戶友好和社群支援。它可用於創建各種類型的網站,包括企業網站、電子商務網站、部落格和社群論壇。技術需求包括:PHP 5.6 或更高版本、MySQL、MariaDB 或 PostgreSQL 資料庫以及 Apache 或 Nginx Web 伺服器。

phpcms有哪些版本 phpcms有哪些版本 Jun 14, 2023 pm 01:13 PM

phpcms有兩個版本比較知名,分別是:1、phpCMS4,支援自訂URL 規則,網站管理後台美觀易用,前端外掛許多,可自由擴充功能;2、phpCMS2008R1,支援多語言、多網站管理,頁面管理器便捷靈活方便,非常輕量,運轉速度快。

PHPCMS用戶名安全設定策略大揭秘 PHPCMS用戶名安全設定策略大揭秘 Mar 14, 2024 pm 12:06 PM

PHPCMS使用者名稱安全設定策略大揭密在網站開發中,使用者帳戶安全一直是開發者十分重視的一個面向。而使用者名稱的安全設定也是至關重要的,因為使用者名稱不僅僅是使用者登入的憑證,還可能暴露使用者的個人訊息,甚至造成安全隱患。本文將揭秘PHPCMS中的使用者名稱安全設定策略,並給予具體的程式碼範例供開發者參考。 1.防止常見使用者名為了提高使用者名稱的安全性,開發者應該避免使用者使用過於

phpcms用什麼資料庫 phpcms用什麼資料庫 Feb 21, 2023 pm 06:57 PM

phpcms用mysql資料庫。 phpcms是PHP開源網站管理系統,採用PHP+MYSQL做為技術基礎來開發。 PHPCMS V9採用OOP方式進行基礎運行框架搭建,支援的PHP版本是PHP5以上、支援的MYSQL版本是MySql 4.1以上版本。

See all articles