Quantcast
Channel: WordPress – Dr. Web
Viewing all articles
Browse latest Browse all 468

TablePress, die eierlegende Wollmilchsau für Datentabellen in WordPress

$
0
0

Das recht frische Plugin TablePress von Tobias Bäthge überzeugt mit einer einfachen, dabei sehr leistungsstarken Einbindung von Datentabellen und deren Inhalten in beliebige WordPress-Sites. Es steht zur kostenlosen Nutzung im WordPress-Repository unter GNU-Lizenz bereit, kann verschiedene Sprachen und ist auch ansonsten flexibel bis zur Wunschlosigkeitsgrenze. Kennen Sie nicht? Dann lesen Sie mal den folgenden Beitrag…

Tabellen in WordPress – ohne Plugins eine Quälerei

Wir haben bei Dr. Web und Noupe Magazine die Präsentation unserer Showcases neuer WordPress-Themes verändert. Monat für Monat bringen wir einen Artikel mit den Neuerscheinungen der letzten vier Wochen. Zur besseren Übersicht sind wir vor ein paar Ausgaben dazu übergegangen, eine zusätzliche Tabelle ans Ende des Beitrages zu setzen. Darin kann man nun auf einen Blick erkennen, worin die Gemeinsamkeiten und Unterschiede der vorgestellten Themes liegen. Bin ich etwa gezielt auf der Suche nach einem responsiven Theme, so kann ich es mir direkt sparen, die ein oder andere Vorlage überhaupt anzuschauen.

Diese Tabellen legen wir bislang per Hand mit gutem altem HTML an. Da das insbesondere bei unserem Jahresrückblick 2012 mit 50 Themes in echte Arbeit ausartete, habe ich mich auf die Suche nach einer besseren Lösung begeben. Und wie es der Zufall will, hat der Magdeburger Tobias Bäthge seit wenigen Monaten exakt eine solche Lösung parat. Wie es scheint, hat er sie gezielt für die Bedarfe seines Baseball-Clubs Poor Pigs programmiert, ist aber so freundlich, sie zur freien Nutzung zur Verfügung zu stellen.


So sieht eine Tabelle aus TablePress in einem Beitrag im Standard, also ohne zusätzliches Styling, aus

TablePress glänzt mit ausgezeichneter Dokumentation und alternativem Ansatz

Direkt vorneweg sei erwähnt, dass die Dokumentation ausgesprochen gut ist. Leider bleibt ja genau dieser Punkt bei vielen Projekten rund um freie Software zu häufig auf der Strecke. Der Programmierer kennt schließlich seine Lösung und der Nutzer soll sich halt reinfrickeln, ist ja schließlich kostenlos. Geschenkter Gaul und so…

Tobias Bäthge geht so nicht vor. Auch wenn er sein Plugin unter die liberale GNU-Lizenz stellt, so dokumentiert er doch akribisch alle Ecken und Winkel desselben, jedenfalls soweit es für die Nutzung relevant ist. Keine meiner Fragen blieb offen, alles konnte aus der Doku beantwortet werden.

Obschon TablePress ganz frisch ist und erst in der Version 0.8.1-beta vorliegt, ist es doch kein völliger Newbie auf seinem Gebiet. Vielmehr handelt es sich um den Nachfolger des recht erfolgreichen WP-Table Reloaded, das bereits seit 2009 am Markt befindlich und ein Fork des Originals WP-Table von Alex Rabe war. Nach eigenen Angaben traf Bäthge im Rahmen der Programmierung des Vorgängers die ein oder andere falsche Entscheidung im Rahmen des Software-Designs, weshalb er schlussendlich einen kompletten Rewrite des Plugins für unabdingbar befand. Dieses Rewrite ist TablePress.

Wichtig zu wissen: TablePress setzt zum jetzigen Zeitpunkt mindestens WordPress 3.4 voraus. Schon die nächste Beta 0.9 wird zwingend WordPress 3.5 verlangen.

Von anderen Tabellen-Plugins, sowie den erweiterten Tabellen-Bearbeitungsfunktionen alternativer Editoren, unterscheidet sich TablePress schon vom Ansatz her. TablePress nämlich liefert kein leeres HTML-Gerüst, das es dann manuell mit Inhalten zu beschicken gilt. Vielmehr verwaltet TablePress Form und Inhalt in einer Hand. Das Einfügen einer Tabelle in einen Beitrag oder eine Seite erfolgt mittels eines Shortcode, für deren Verwaltung auch ein Icon in der Toolbar des TinyMCE angelegt wird, so dass man sich die Codes nicht einmal merken muss.


Shortcode nebst Icon in der Toolbar des TinyMCE (oben ganz rechts)

Bevor wir uns das Plugin in Aktion ansehen, noch ein Wort zu den Sprachversionen. Im Auslieferungszustand bringt TablePress die Sprachen Englisch, Deutsch und Französisch mit. Abhängig von der Standardsprache des eigenen Blog in der wp-config.php wird die korrespondierende Sprache automatisch gewählt. In den Einstellungen zu TablePress lässt sich diese Standardvorgabe jedoch jederzeit ändern. Das ist nützlich, wenn man etwa – wie ich – Screenshots des Plugin auch für englischsprachige Magazine wie Noupe braucht, den Test aber mit seinem deutschen Blog durchführt ;)

Da TablePress mit .po und .mo arbeitet, kann man es per Poedit oder dem WordPress-Plugin Codestyling Localization leicht auch für andere Sprachen dieser Erde und darüber hinaus fit machen.

TablePress – die Vorgehensweise

Nachdem die Installation nebst Aktivierung erledigt ist, die ich persönlich stets direkt über das Backend erledige, finden Sie links in der Navigation einen neuen Punkt namens TablePress. Die Position dieses Menüpunktes können Sie übrigens in den Einstellung verändern.

Klickt man nun diesen Punkt an, ist es fortan egal, ob man die abklappenden untergeordneten Menüpunkten in der seitlichen Navigation wählt oder die ebenfalls verfügbar werdende Karteireiter-Navigation vorzieht. Auf den ersten Blick sind die Möglichkeiten überschaubar. Tabellen lassen sich verwalten, neu anlegen, sowie im- oder exportieren. Der Punkt Einstellungen, der global allerdings nur wenige Optionen bereit hält, rundet das Portfolio ab.

Hat man bereits mit dem Vorgänger WP-Table Reloaded gearbeitet oder will man etwa Tabellen aus Excel in TablePress bringen, kann man das komfortabel über den Punkt Import erledigen. Neben dem CSV-Format versteht TablePress auch HTML und JSON als Importquelle. Der Export kann ebenfalls als CSV, HTML oder JSON erfolgen. Das Trennzeichen lässt sich definieren. Auf Wunsch wird das Exportfile gezippt, was sinnvoll ist, wenn man viele Tabellen gleichzeitig exportiert. Übrigens lassen sich Zip-Files mit mehreren Tabellen auch importieren.

Über den Punkt Alle Tabellen, der optisch der Artikelübersicht entspricht, nimmt man Zugriff auf alle bereits angelegten und/oder importierten Tabellen. Von hier aus können sie editiert, kopiert, gelöscht oder exportiert werden. Technisch betrachtet – und das erklärt auch die vertraute Optik – legt TablePress die Inhalte der Tabellen als Custom Post Type in der Tabelle wp-posts ab.

Will man nun eine neue Tabelle anlegen und manuell mit Inhalten bestücken, wie es bei unseren Theme-Übersichten regelmäßig der Fall bleiben wird, wählt man den Menüpunkt Neue Tabelle. Hier geht es zunächst sehr übersichtlich los. Man vergibt einen Namen, eine (optionale) Beschreibung und legt die Anzahl der Zeilen und der Spalten fest. (Diese beiden zentralen Werte lassen sich im weiteren Verlauf des Verfahrens komfortabel nach Bedarf verändern.) Dann klickt man auf Tabelle hinzufügen.

Erst danach zeigt TablePress den Tabellen-Editor, weitere Bearbeitungsfunktionen, sowie den Einstellungsdialog für die Funktionalität der einzelnen Tabelle an. Der Editor an sich bedarf keiner besonderen Erläuterung. Im Standard wird die oberste Zeile als Tabellenkopf definiert. Korrespondierend kann die letzte Zeile als Tabellenfuß fungieren. Beides muss nicht so sein, wenn man das nicht will. Zwei Häkchen in den Einstellungen der Tabelle reichen, um das Verhalten auszuhebeln.

Insgesamt ist die Darstellung der Tabelle für das spätere Frontend flexibel anzupassen. So können Sie entscheiden, ob der Tabellenname und die Beschreibung überhaupt angezeigt werden sollen und wenn ja, oberhalb oder unterhalb der Tabelle. Eigene CSS-Klassen erlauben das Styling nach eigenem Gusto. Daneben kann über die globalen Einstellungen eine komplett eigene CSS-Datei beigestellt werden.

Über die integrierte JavaScript-Bibliothek DataTables stehen Such- und Sortierfunktionen, sowie Tabellenpaginierung und Filtermöglichkeiten zur Verfügung. Besonders hilfreich für breite Tabellen ist die Option, horizontales Scrollen zu erlauben. Ein Freifeld nimmt manuelle Parameter auf, die die Bibliothek DataTables ansonsten noch zu bieten hat. So lässt sich auch in Sachen JavaScript-Funktionalität maximale Flexibilität erreichen. DataTables kann komplett oder in Teilen abgeschaltet werden, so man die Funktionalität nicht benötigt oder aus bestimmten Gründen nicht anbieten will.


Im Tabellen-Editor erfasst man Inhalte ähnlich wie in Excel

Hat man nun seine Tabelle erfasst, wozu man übrigens auch HTML innerhalb der Zellen verwenden oder über erweiterte Bearbeitungsfunktionen Links oder Bilder automatisiert einfügen lassen kann, speichert man die Änderungen, kopiert den Shortcode und pastet ihn in den entsprechenden Beitrag in der HTML-Ansicht. Will man eine Tabelle nicht in einem Beitrag oder einer Seite unterbringen, sondern an anderer Stelle im Template, so ist auch das über eine Template Tag-Funktion möglich. Das kann beispielsweise so aussehen:

<?php tablepress_print_table( 'id=1&use_datatables=true&print_name=false' ); ?>

Fazit: TablePress ist derzeit DIE Lösung für Datentabellen in WordPress. Mir fällt nur ein vernünftiger Grund ein, warum man das Plugin nicht verwenden wollen könnte. Der indes gilt für alle Plugins gleichermaßen, die Gebrauch von Shortcodes machen. Da die Darstellung der Tabellen vom Vorhandensein und der ordnungsgemäßen Funktion des Plugin abhängig ist, muss man sich auf die Motivation des Programmierers verlassen. Stellt er irgendwann die Fortentwicklung ein und ändert sich danach etwas relevantes am Core von WordPress, dann war es das mit der schicken Tabelle im eigenen Blog. Immerhin gehen einem die Tabellen nicht verloren. Man kann sie schließlich in mehreren Formaten exportieren und so etwa als reines HTML zurückholen. Aber Aufwand wäre das allemal…

Links zum Beitrag:

Alle Screenshots im Überblick:

datatables_einstellungen erweiterter_editor frontend-ansicht frontend-ansicht_mit_datatables shortcode-beitragseditor tabelle-basisinfo tabellen-editor tabellen-einstellungen tabellen-preview_backend tablepress_hauptmenu tablepress-homepage

Viewing all articles
Browse latest Browse all 468