Heimweh hab ich. Heimweh will ich.

Aber keine Sorge, liebes Drupal, ich bin mir sicher, dass es die WP-Jungs über kurz oder lang doch noch schaffen werden, mich dermaßen zu enttäuschen, dass ich in deine Arme laufe. Bis dahin scheint zumindest die neue Version meinen bescheidenen Absichten und Vorsätzen besser zu entsprechen.

WordPress 2.7

Rund 4 Monate haben es die Jungs von WordPress geschafft, bevor sich diese Aussage bewahrheitet hat.

Nachdem ich schon die selbstgeschriebenen Plugins auf den (layouttechnischen) Stand der aktuellen 2.7’er Version gebracht habe, wollte ich das gerade noch fix in quellcodetechnischer Hinsicht für die Template-Dateien meines „leerraum“-Themes machen. Pustekuchen. Schon bei der Modifizierung der comments.php und der Bekanntschaft mit der neuen Templatefunktion „wplistcomments“ staut sich Ärger an. Warum?

Die Funktion ist prinzipiell dazu gedacht, den Ratenschwanz an Schleifen im Loop der comments.php zu entschlacken. Äußerlich schafft das die Funktion halbwegs dadurch, weil die zuvor nötigen Foreach-Anweisungen nun in jener Funktion selbst abgewickelt werden. Erspart einem ein paar Zeilen und mitunter Verwirrung, wenn man nach längerer Zeit da wieder durchsteigen muss. Desweiteren kann man damit per Parameter angeben, was man denn ausgeben lassen möchte: normale Kommentare, Pingbacks oder Trackbacks. Gut.

Aber: „Äußerlich“ und „halbwegs“, weil das Ganze wunderbar einfach ist, wenn man sich mit dem von der Funktion ausgegebenen Markup zufrieden gibt. Wohlgemerkt: Das ist festverdrahtet, da ist nichts mit Parametern zu machen. Wer sich seine (X)HTML-Syntax also lieber selbst zusammenbastelt und wer nicht auf die „Voreinstellung“ der Textausgabe a la „fym sagt“ steht, der darfmuss sich mittels Callback-Funktion (den Parameter gibt es, selbstverständlich…) behelfen. Im WP-Codex steht zu jener Callback-Möglichkeit geschrieben:

Use to customize comments display for extreme changes to the HTML layout. Not recommended.

Ja, total „extrem“, mein Markup. Da fühl‘ ich mich gleich als Rebell, wenn ich es doch gerne anders hätte. Wie ich so nachlese, hat man sich auf Entwicklerseite wohl dafür entschieden, weil man ohnehin meint, jeder könne das Aussehen per Style verändern– ein anderes Markup sei gar nicht nötig. Wow. Warum hat dann nicht jede Seite ein identisches Markup?

Und sowas „entwickelt“ das führende Blog-System? Go figure…

Alles läuft also im Grunde darauf hinaus, dass man trotz wunderbar „erleichterter“ comments.php den gleichen Ballast an Code in der functions.php beheimaten darfmuss, wenn man sich nicht den Markup-Vorgaben der Entwickler unterwerfen mag. Auch ne Art.

7 Stimmen

# ben_

Ich hab’s gehört.

Und es ist nicht mehr weit bis nachhause.

# fym

Nun, Rant ist Rant und die comments.php angepasst. Wenigstens konnte mir die Sache jetzt als Vorwand dienen, die Kommentaranzeige aufzuhübschen (naja…).

Freue mich schon aufs Heimweh. Voran! Voran! Und vor allem freue ich mich darauf, dort zu basteln. Etwas, dass WordPress nicht mehr zu leisten vermag.

# fym

Bastelversuche gibt es übrigens auch schon. Wenn du dann letztlich die Funktion implementiert hast, die ich zuvor probe- und spaßeshalber nach meiner Vorstellung lokal reingekritzelt hatte, zeigt das btw ein ums andere Mal, was für ein Tiefstapler du bist, ben_.

Deprimierender Vergleich ist das. Aber lustig.

# ben_

Wuuus? Wo implementiere ich was rein? Und warum sollte ich ein Tiefstapler sein? Ich kann echt nichts wirklich. Alles abgeschaut und vorgetäuscht.

Allein gestern hab ich zwei Stunden damit zugebracht, aus einer UFT-8 PHP-Datei, die eine UTF-8 HTML Seite generiert, in der ein UTF-8 Formular steht, Daten in eine UTF-8 Datenbank zubekommen, was mir partout nicht gelingen wollte. Erst nachdem ich eine Volltextsuche über das Drupal6 includes Verzeichnis hab laufen lassen wurde ich dieser Zeile gewahr:
mysql_query(‚SET NAMES „utf8″‚, $db);

Nie zuvor gesehen. Nie zuvor von gehört. Ts.

# ben_

Ist mein Kommentar angekommen? Scheinbar nicht. Guck mal in Deinem Spam-Ordner bitte.

# fym

Huch, tatsächlich im Spam-Ordner. Vielleicht hast du wirklich mit deiner Kommentar-Serie im anderen Eintrag das Spam-Pluggie verstimmt…?

Nja, ich hatte mir eine frühere Heimweh-Version gezogen und da einige Sachen versucht selbst zu schreiben, die du inzwischen hinzugefügt hast. Kein Vergleich. Wirklich *kein* Vergleich ist das. Man sieht also: Du kannst zumindest besser abschauen und vortäuschen als ich.

Hehe, auf SET NAMES ‚utf8‘ hätte ich dich aber in der Tat schneller bringen können. Die selben zwei Stunden habe ich nämlich schon beim Import-Plugin für delicious investieren müssen.

# ben_

Vielleicht mögen Spam-Filter einfach mysql-Statements nicht, was ja sooo unsinnig nicht wäre. *hihi*

Ich werte den „kein Vergleich“ mal als Lob, auch wenn der Heimweh-Code noch ziemlich unschön ist. Das geht noch schöner und schlichter. Kommt alles.

Und selbst wenn das jetzt noch „kein Vergleich“ ist – genau so bin ich hier her gekommen.

Stimme erheben