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 Minimal 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:
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:
- Tables in WordPress made easy – TablePress.org
- TablePress – WordPress Plugin Directory
- TablePress Dokumentation – TablePress.org
- Lokalisierung von Sprachversionen – Poedit
- Lokalisierung mit WP-Plugin – Codestyling Localization
- Gute Anleitung dazu: WordPress-Theme Übersetzung mit dem Codestyling Localization Plugin – Elmastudio Blog
10 Antworten
Schönes Plugi. Mich würde noch interesieren, ob das Teil barrierefrie Tabellen unterstützt, th scheint ja dabei zu sein, wie stehts mit summary, und so weiter, weiß das jemand?
Hallo Thomas,
ja, „th“ für Kopf- und Fußzeile sind selbstverständlich. „summary“ kann mittels eines Filter Hooks hinzugefügt werden. Welche Dinge hättest du denn gerne noch? Vielleicht kann ich sie ja einbauen…
Viele Grüße
Tobias
Danke für diesen Beitrag. Bei der Vielzahl an Plug’ins von WordPress ist es gar nicht so leicht einen Überblick zu behalten. Ich hatte erst selber versucht in der Liste etwas passendes für das einfügen von Tabellen zu finden, aber ohne Erfolg nun habe ich dank ihnen ein passendes Toll gefunden.
Hallo,
schöner Beitrag für ein super Plugin, das will ich auch haben.
Eine Frage habe ich aber:
Ist es möglich das nur bestimmte Bentzergruppen Zugriff auf die erstellten Tabellen haben?
Ich habe uber UAM bestimmte Gruppen angelegt, die entsprechend viel auf der Seite sehen dürfen.
Jeder darf bei mir Beiträge erstellen, aber ich will nicht das JEDER auch bestimmte Tabellen in seinen Beitrag einbauen kann.
Kann man das unterbinden?
Wenn ja wie?
DANKE
Stefan
Gibt es in TablePress die Möglichkeit, Daten aus einem Formular in einer Tabelle abzulegen?
Hallo,
vielen Dank für deine Informationen. Ich nutze Table Press seit wenigen Tagen und habe gerade danach gesucht, wie es ordentlich zu bedienen ist. Jetzt sind mir ein paar Features klarer geworden – gruß Jochen
Zwar tolle Funktionen, aber für den alltäglichen Bedarf viel zu umständlich. Wer mehr als 3 Texte pro Tag einfügen muss, wird mit diesem Plugin nur noch Fluchen.
Das Plugin ist durchaus eine Bereicherung, speziell bei den neueren WordPress-Themes, die noch einige Bugs aufweisen. Durch die Erweiterung „Responsive Tables“ lassen sich auch größere und umfangreiche Tabellen auf Mobilgeräten einigermaßen lesen, da sie anders angeordnet werden. Das soll erst mal jemand besser hin bekommen.
Mir gefällt tablepress sehr gut.
Allerdings habe ich auch Zellen mit Beschreibung etc. einzufügen und da fällt es mir richtig schwer, die einzelnen Zellen ordentlich zu formatieren. Bin nicht so der html-Profi 😉
Wäre schön, wenn es dafür einen umfassenden Editor geben würde, der auch Aufzählungen, Einrücken, etc. beherrscht. Aber ansonsten: Daumen hoch!
Hallo Dieter,
dein Beitrag und auch TablePress gefällt mir. Eine Kleinigkeit im Fazit ist mir aufgestoßen. Du spielst auf die „Motivation des Programmierers“ an. Das ist nicht nur bei Shortcodes so und nicht nur bei Einzelkämpfern. Auch professionelle Softwarehersteller werden aufgekauft, verschwinden und Produkte werden abgekündigt. TablePress unter die GNU zu stellen ist doch eine super Versicherung und eine Einladung mit zu machen. Ansonsten ist der Wunsch nach einem „ewig sorglos Paket“ reine Illusion.