Heim > Artikel > Backend-Entwicklung > Benutzerdefiniertes phpcms-Tag-Paging im benutzerdefinierten Modul
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>
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>
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.