Hi,
Ich schreibe gerade, oder bin auf dem besten Weg ein Plugin zu schreiben.
Ich wollte mich jetzt mal an der SortablePage und an der MultipleLinkPage versuchen, aber irgendwie komme ich nicht weiter.
Habe den Code aus dem Devcenter mal so angepasst wie ich mir das vorstelle:
PHP
<?php
require_once(WCF_DIR.'lib/page/SortablePage.class.php');
class TRListPage extends SortablePage {
public $templateName = 'trList';
public $itemsPerPage = 10; // Anzahl der Zeilen die auf einer Seite angezeigt werden sollen
public $defaultSortField = "name";// Das Feld der Tabelle nach dem zuerst sortiert werden soll
public $sortOrder = "ASC"; // Sortier Richtung (ASC oder DESC)
public function validateSortField() {
parent::validateSortField(); // Hier werden die Felder aufgelistet nach denen sortiert werden kann
switch ($this->sortField) {
case 'name':
case 'subject':
case 'link':
case 'downloadlink':break;
default: $this->sortField = $this->defaultSortField;
}
}
public function countItems() { // Diese Funktion gibt die Anzahl der Einträge zurück
$sql = "SELECT COUNT(*) AS anzahl
FROMwcf".WCF_N."_trlevels";
$row = WCF::getDB()->getFirstRow($sql);
return $row['anzahl'];
}
public function readData() {
$sql = "SELECT *
FROM wcf".WCF_N."_trlevels
WHERE name, subject, link, downloadlink
ORDER BY ".$this->sortField." ".$this->sortOrder."
LIMIT ".$this->itemsPerPage."
OFFSET ".(($this->pageNo - 1) * $this->itemsPerPage);
$result = WCF::getDB()->sendQuery($sql);
}
}
?>
Alles anzeigen
Das Template ist ja erstmal unwichtig, er zeigt mir bei dem Code folgende Fehlermeldung an:
Zitat
Fatal error: Invalid SQL: SELECT * FROM wcf1_trlevels WHERE name ORDER BY ASC LIMIT 10 OFFSET -10
Mit DESC habe ich es auch schon probiert, dann kommt noch ein anderer Fehler, bzw. das ASC wird mit DESC ausgetauscht.
Hoffe ihr könnt mir helfen.