Benutzerdefiniertes phpcms-Tag-Paging im benutzerdefinierten Modul

WBOY
Freigeben: 2016-08-08 09:27:02
Original
965 Leute haben es durchsucht

Wenn Sie ein erfahrener PHPCMS-Sekundärentwickler sind, können Sie diesen Artikel ignorieren, weil die Art und Weise, wie er hier geschrieben ist, ekelhaft ist.
Heute entwickle ich eine Website und habe ein Modul namens Forum-Modul erstellt. Name des Inhaltsverzeichnisses: luntan
Auf der Forumlistenseite müssen alle Beiträge angezeigt und im Paging angezeigt werden, gemäß der Tag-Definitionsmethode in der phpcms-Standardvorlage
{pc:luntan action="get_send" num="2" page= " $_GET[page]"} Gemäß dieser Schreibmethode sind data['limit'] = '0,2' im Programm, data[page] = NULL
kann jedoch die Seitenzahl nicht empfangen, sondern aus persönlichen Gründen Recherche, ich verstehe das nicht. Wie kann ich die Paging-Methode in das System laden und sie einfach verwenden? Ich hoffe, Sie können mich korrigieren Irgendwelche guten Vorschläge, ich hoffe, Sie können sich die Zeit nehmen und mir etwas beibringen
Um die Liste der Forenbeiträge zu erhalten, ist eine Methode wie folgt erforderlich

<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>
Nach dem Login kopieren

Achten Sie auf das Echo $pages_send; in der Zeile über der Rückgabe. Dies basiert tatsächlich auf der im Hintergrund verwendeten Paging-Methode, damit die Seite die Seitennummer normal anzeigen und springen kann.
Aber wenn Sie dies entsperren echo $pages_send; then Es gibt keine Möglichkeit, die Anzeigeposition auf der Seite zu steuern. Um die Anzeige gemäß meinen Wünschen zu ermöglichen, habe ich unterhalb dieser Methode eine weitere Methode hinzugefügt:

<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>
Nach dem Login kopieren

Beachten Sie, dass die Namen der beiden Methoden unterschiedlich sind. Es gibt einen Seitenunterschied zwischen get_send und get_send_page. Auf diese Weise muss letztere nur die Seitennummer anzeigen, während erstere Es müssen nur Daten angezeigt werden, sodass die Methode get_send verwendet werden kann. Die Aufruf- und Ausgabemaske wird verwendet, um die Seitenzahl zu erhalten, d. h.
//$pages_send = $this->luntan_send->pages;
. .....
//echo $pages_send;
Bei der letztgenannten get_send_page-Methode ist keine nächste for-Schleife erforderlich, um die Daten zu verarbeiten. Die Hauptsache ist um die ausgegebene Seite zu verwenden, ist derselbe Teil der beiden Funktionen
$page = empty($_GET['page']) 1 : intval($_GET['page']);
$ send_info = $this->luntan_send->listinfo($where = '', $order = '', $page, $pagesize = 20);
Wenn Sie die auf der Standardseite angezeigte Zahl ändern möchten, Sie müssen eine der beiden Methoden ändern
$send_info = $this->luntan_send->listinfo ($where = '', $order = '', $page, $pagesize = 20);$pagesize variable in einem Satz

Das Obige stellt das benutzerdefinierte Tag-Paging von phpcms im benutzerdefinierten Modul vor, einschließlich der relevanten Inhalte. Ich hoffe, es wird für Freunde hilfreich sein, die sich für PHP-Tutorials interessieren.

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage