Nützliches

Professionelle Tabellen mit WordPress

Als ich neulich bei dynamicinternet den Beitrag über Tabellen in WordPress las, hatte ich eine zündende Idee. Im Artikel wird beschrieben, dass man  neuerdings im HTML-Editor Tabellen einfügen kann und diese auch nach dem Wechsel in den visuellen Editor erhalten bleiben und so veröffentlicht werden.

wp-Table

Vorher war dies nicht möglich, aber es gab ja auch noch das wp-Table Plugin von Alex Rabe, mit welchem dies umgangen werden konnte. Auf der Plugin-Seite scheint zwar ganz gross der Hinweis, dass das Plugin nicht unter WordPress 2.5+ funktioniert, doch in Wirklichkeit ist dies nur ein banaler Fehler, was zu der Inkompatibilität führt.

Oft liegt ein Fehler vor, wenn sich das Plugin nicht so gut mit einem anderen versteht und vielleicht die gleichen Namen für seine Funktionen verwendet. Am meisten genannt wurde unter anderem cforms. Doch die Ursache liegt darin, dass beide Plugins auf eine Core-Datei zugreifen und diese nicht mehrmals geladen werden kann. Deshalb muss zuerst überprüft werden, ob diese schon von einem anderen Plugin geladen wurde.

Problem 1

In der Datei wp-table.php sucht man die Zeile 343:

require(WPTABLE_ABSPATH.'js/buttonsnap.php');

und ersetzt sie durch folgenden Code:

if( !class_exists('buttonsnap') )
require(WPTABLE_ABSPATH.'js/buttonsnap.php');

Alternativ kann man auch zuerst alle Plugins deaktivieren und wp-Table als erstes wieder aktivieren – erst danach die anderen. Dann sollte das Problem auch nicht mehr auftreten!

Problem 2

Andererorts wird auch ein Problem beim CSV Upload gemeldet. Aber auch hierfür gibt es eine einfache Lösung! Siehst du z.B. diese Fehlermeldungen?

Warning: move_uploaded_file(/httpdocs//httpdocs/wp-content/uploads/filename.csv)
[function.move-uploaded-file]: failed to open stream: No such file or directory in
/httpdocs//httpdocs/wp-content/plugins/wp-table/wp-table-admin.php on line 170
Warning: move_uploaded_file() [function.move-uploaded-file]:
Unable to move ‘/tmp/phpJG2DBQ’ to ‘/httpdocs//httpdocs/wp-content/uploads/filename.csv’ in
/httpdocs//httpdocs/wp-content/plugins/wp-table/wp-table-admin.php on line 170
ERROR : File cannot be saved. Check the permission of the wordpress upload folder

In Zeile 165 der Datei wp-table-admin.php steht:

$csv_file = ABSPATH.get_option('upload_path' ).'/'.$_FILES['csv_file']['name']; // set upload path

Ersetze es durch folgenden Code, der die doppelte Anzeige von /httpdocs/ verhindert.

$csv_file = $_FILES['csv_file']['name']; // set upload path

wp-Table und WordPress 2.7

Falls man diese zwei Punkte befolgt, funktioniert wp-Table garantiert unter WordPress 2.5, 2.6 und 2.7! Hier der Beweis aus meiner lokalen Testversion:

wp-Table und WordPress 2.7

wp-Table und WordPress 2.7

Diskussion

19 Kommentare für “Professionelle Tabellen mit WordPress”

  1. Hi, bei mir ist das in Zeile 343. da steht aber auch nicht require_once sondern nur require.

    Wenn ich das dann trotzdem nach deinem vorschlag abändere, und ich im dashboard die Tabellen aufrufe, sehe ich die Beispieltabelle. Wenn ich da eine Zeile hinzufüge, kommt dieser nette Fehlerhinweis:

    Dantenbankfehler ! Nicht alle Aktionen konnten durchgeführt werden.

    Was nun?

    Geschrieben von Karl | 23. Dezember 2008, 00:58
  2. Pardon Monsieur! Ich hatte da noch eine Kommentarzeile dazwischen. Das require (ohne _once) wäre schon richtig. Ich habs komischerweise auch so.

    Probier das mal so aus…

    Nochmals Entschuldigung ;)

    Geschrieben von Pascal Birchler | 23. Dezember 2008, 16:28
  3. Hallo! Vielen Dank für den Test. Es klappt also WIE bei 2.6 mit der von Dir genannten Anpassung. ABER: Ab wp2.7 wird die Schrift sowohl bei der Tabellenbeschreibung als auch der Kopfzeile mit dem strong-Tag versehen, als fett dargestellt. Laut Deinem Beispiel auch bei Dir. Hast Du eine Idee, wie und wo man das wieder wegbringt?

    DANKE.

    Geschrieben von Anton | 25. Dezember 2008, 18:56
  4. So gehts:

    Adminbereich öffnen -> Zur Tabellen-Seite wechseln -> Deine Tabelle bearbeiten -> Tabellen Einstellung -> “Verwende Kopfzeile” deaktivieren

    Und noch einen frohen 25. Dezember ;)

    Geschrieben von Pascal Birchler | 25. Dezember 2008, 19:45
  5. Leider nicht :-( Trotzdem vielen Dank für den Hinweis :-)

    Natürlich möchte ich einen Tabellenkopf haben – wie bisher auch. So sieht/sah es unter wp2.6 aus

    http://www.onlzoberurff.info/2008/08/10/ag-angebote-von-b-wie-big-band-bis-w-wie-weblog-ag/

    Jetzt aber wird die CSS-Regelung für den Tabellenkopf überschrieben und fett dargestellt; und auch die Tabellenbeschreibung bleibt fett – letztere übrigens auch wenn man Deiner Empfehlung folgt.

    Betrachtet man den Code mit Firebug sieht man, dass ab 2.7 plötztlich das strong dazu kommt. Bloß woher?

    Sehr seltsam…

    Geschrieben von Anton | 25. Dezember 2008, 20:24
  6. Dieses Fehlverhalten kann ich nicht reproduzieren. Alles wird normal dargestellt, ohne strong. Auch im Quellcode von wp-Table gibt es nichts, was ein strong einfügt.

    Wenn du statt bloss das CSS mit einem Attribut: bold gemeint hast, kannst du ja einfach die wp-table.css editieren.

    Geschrieben von Pascal Birchler | 26. Dezember 2008, 00:55
  7. Hi!

    Danke für den Hinweis. Wir haben beim CSV-Export (immer schon) das Problem, dass Umlaute mit einem kleinen Quadrat mit einem “?” innen dargestellt werden und nach dem Export manuell korrigiert werden müssen. Hast Du eine Idee, woran das liegen kann?

    DANKE.

    VG.

    Geschrieben von Anton | 5. Januar 2009, 09:00
  8. Hi
    bei uns verhält sich wp-table seltsam. Ich kann tabellen duplizieren und die tabellenspaltenbreiten ändern. Das schreibt er alles schön in die Datenbank.
    . aber bei allen anderen Aktionen kommt eine Meldung “Datenbankfehler. Nicht alles konnte in die Datenbank geschrieben werden.”

    Mein System: Windows 2003R2, IIS6, Mysql. Hat jemand das Problem auch und evtl schon gelöst?

    KG

    Geschrieben von Karl | 5. Januar 2009, 09:33
  9. Hallo,

    ich habe die Zeilen, wie oben beschrieben, geändert (sogar mehrmals, weil ich dachte, irgendwo einen Fehler gemacht zu haben). Ich habe wordpress 2.7.
    Der Fehler :
    Dantenbankfehler ! Nicht alle Aktionen konnten durchgeführt werden.
    wie bei Karl wird bei mir auch angezeigt.
    Ich schaue neidisch auf http://www.onlzoberurff.info/2008/08/10/ag-angebote-von-b-wie-big-band-bis-w-wie-weblog-ag/ hin.
    Wenn beide o.g. Dateien korrekt korrigiert werden würden, dann müsste das alles funktionieren. Wäre es zu dreist zu fragen, ob mir jemand diese Dateien schicken könnte?
    Hezlichen Dank im voraus
    Marguerite

    Geschrieben von Marguerite | 10. Januar 2009, 21:09
  10. Hi Marguerite,
    mir hat der Pascal (danke!) seine plugindateien gemailt, sogar auf meinem Server alles kontrolliert, Resultat; bei ihm läufts, bei mir nicht. Vermute mal, dass das daran liegt, dass es bei mir auf einem Windowsserver läuft.

    Gruss <karl

    Geschrieben von Karl | 10. Januar 2009, 21:56
  11. Hi Karl,
    wir haben auch einen Windowsserver! Die erste Gemeinsamkeit, was?

    Ciao
    Marguerite

    Geschrieben von Marguerite | 11. Januar 2009, 08:39
  12. @ Marguerite

    Wieso erste Gemeinsamkeit? Verbindet uns nicht immer schon die Liebe zu Wordpress :- )

    Geschrieben von Karl | 11. Januar 2009, 11:07
  13. @ WINDOWSianer!

    Habe auch von anderer Stelle gehört, dass sich mit einem Windows-Server früher oder später Probleme mit php-Skripten und MySQL einstellen. Am besten beizeiten die Plattform wechseln. Gruß.

    Geschrieben von Anton | 11. Januar 2009, 13:14
  14. @ Anton
    Wenn Du Dich mal ernsthaft mit Windows beschäftigt hättest, dann würdest Du wissen, dass Windows mittlerweise ein erstklassiges Client/Serverbetriebssystem ist und dass man am Service von Microsoft nichts aussetzen kann. Und man kann PHP vollkommen sauber drauf laufen haben – wenn fehlerfrei programmiert wurde. Auch MySQL läuft einwandfrei. Man muss das halt richtig machen, Plattformunabhängig denken und programmieren. Und unter Windows gibts zu PHP mit coldfusion und zu MySQL mit MSSQL und paar anderen Datenbanken deutlich bessere Alternativen, auch was die Programmierkosten angeht. Leider rasseln viele Linuxer die Vorurteile gebetsmühlenartig die Vorurteile über Windows, William III. Gates etc herunter ohne zu wissen, wovon man redet.

    Wahrscheinlich bricht jetzt der Dschihad aus. Die Linux-Fundamentalisten können mich jetzt ruhig hauen.

    Geschrieben von Karl | 11. Januar 2009, 13:31
  15. Woher weisst Du Schlauberger denn mit was sich andere Leute beschäftigen oder nicht. Das Medium hier bitte von solchen nutzlosen Selbstdarstellungen freihalten. Danke.

    Geschrieben von Anton | 11. Januar 2009, 16:04
  16. Aber meine Herren, duellieren Sie sich bitte nicht!

    Ich habe auf http://wordpress.org/extend/plugins/tinymce-advanced/ auch eine anständige Lösung für Tabellen gefunden. Zwar kann man sie sehr bedingt formatieren und sie auch nicht sortieren, ich habe aber eine funktionierende Tabelle fpr 2.7.

    Ciao
    Marguerite

    Geschrieben von Marguerite | 11. Januar 2009, 18:18
  17. @ marguerite
    Duellieren. Jawoll.
    Da ich der Beleidigte bin, darf ich Sekundant und Waffen wählen.
    Als Sekundantin will ich Dich! :-) Lese also alle die Duell-anleitungen. Bei Wikipedia wirds schon was geben.
    Als Waffen wähle ich den Hosenlupf. Bin kein Schweizer, aber wenn ich so einen Linuxler am Gürtel fasse und 10 m schmeisse und der dann um sein Leben winselt – herrlich schon der Gedanke :-)

    Geschrieben von Karl | 11. Januar 2009, 18:43
  18. vielen Dank für deine Lösungen zu Problem 1 + 2. Läuft nun bei mir mit WP 2.7 ohne “fatalen Fehler”.

    Geschrieben von LuNeX | 19. Januar 2009, 20:09
  19. es gibt jetzt “wp table reloaded”. einfach mal bei wordpress.org danach suchen. Das ist komplett überarbeitet und funktioniert.

    mfg
    Karl

    Geschrieben von Karl Gunkel | 18. Juni 2009, 11:56

Kommentar schreiben