Schlagwort-Archive: Fehler

OK, jetzt reicht es. Gerade vor ein paar Tagen habe ich darüber geschrieben, dass ich endlich auch die NextGEN Gallery für WordPress dahingehend korrigiert habe, dass sie jetzt XHTML 1.1-valide ist. Heute gab es das Update auf Version 1.7.3, das ich selbstverständlich sogleich installiert habe – und meine Befürchtung bewahrheitete sich: Der alte Fehler ist wieder da. Der W3C-Validator sagt folgendes:

Line 1395, Column 407: ID „ngg-next-2″ already defined
…nggpage=10″>10<a id=“ngg-next-2″ href=“/fotos/?nggpage=2“>&#9…

An „id“ is a unique identifier. Each time this attribute is used in a document it must have a different value. If you are using this attribute as a hook for style sheets it may be more appropriate to use classes (which group elements) than id (which are used to identify exactly one element).

Dazu passend die Ursache für den Fehler:

Line 746, Column 405: ID „ngg-next-2″ first defined here
…/?nggpage=9″>9</a><a id=“ngg-next-2″ href=“/fotos/?nggpage=2“>&#9…

Da in einem validen HTML-Dokument jede ID höchstens einmal vorkommen darf, wird ein Fehler für jede weitere Galerie erkannt, die sich auf derselben Seite befindet wie die erste Galerie. In meinem Fall derzeit acht Galerien, ergo sieben Fehler. Das Problem ist: Für mehrere Galerien pro Seite liefert die NextGEN-Gallery von Herrn Alex Rabe (die ansonsten eigentlich makellos ist) keinen validen Code.

Wie ich bereits erwähnte, ist dem Autor bekannt, dass ein Fehler vorliegt. Er scheint nur zu faul zu sein, das zu fixen. Oder vergesslich. Ich dachte mir, wenn ich den Fehler schon wieder sporadisch flicken muss, dann kann ich ja eigentlich auch andere daran teilhaben lassen. Vielleicht stört sich ja außer mir noch jemand daran.

Geöffnet werden muss die Datei /wp-content/plugins/nextgen-gallery/lib/navigation.php. Sucht in der Datei nach folgendem Abschnitt:

if ( ( $page ) * $maxElement < $total || -1 == $total ) {
    $args[’nggpage‘] = $page + 1;
    $this->next = $nggRewrite->get_permalink ( $args );
    $r .= ‚<a id=“ngg-next-‚ . $args[’nggpage‘] . ‚“ href=“‚ . $this->next . ‚“>&#9658;</a>‘;
}

Entfernt werden muss in der vierten Zeile alles ab (einschließlich) id= bis vor href=. Also folgendermaßen:

    $r .= ‚<a href=“‚ . $this->next . ‚“>&#9658;</a>‘;

Speichern, hochladen, fertig. Diese Lösung ist nicht besonders intelligent, aber sie funktioniert und stellt den Validator zufrieden.

Heute Nacht habe ich mich in einem Anfall von Tatendrang wieder mal um zwei Fehler bei SuccessDenied gekümmert. Was Schlaflosigkeit so alles anrichten kann. Jedenfalls habe ich vor wenigen Wochen verkündet, dass die Seite bis auf die NextGEN-Gallery endlich valides XHTML ist. Dem Autor ist das Problem zwar bekannt, aber offenbar war er sich in den letzten zwölf Monaten leider zu schade für einen Bugfix, obwohl es Updates gab. Kurzerhand hab ich den Fehler also selbst behoben. Nun ist die Seite tatsächlich 100% valide, ohne Ausnahmen.

Daneben gibt es noch einen Fehler im Besucherzähler-Plugin, der die komplette WordPress-Installation für einen halben Tag lahmgelegt hatte, bis ich das Plugin deaktivieren konnte. Nach der Reaktivierung läuft es wieder als wäre nie was gewesen. Auch hier liegt dem Autor ein Fehlerbericht vor. Er möge sich hoffentlich die Tage darum kümmern, sonst mach ich es selbst ;)

Mittlerweile dürfte aus der ehemaligen Blog-Baustelle eigentlich eine einigermaßen erträgliche Webseite geworden sein. Sollte dennoch dem ein oder anderen ein grober Schnitzer hier auffallen, freue ich mich natürlich über eine Rückmeldung.

Seit etwa einer Stunde ist SuccessDenied.com endlich auch XHTML 1.1-konform. Also beinahe jedenfalls. Es hat fast zwei Stunden gedauert die Fehler zu finden, die problembehafteten Artikel zu überarbeiten und die Skripte gemeiner Autoren zu korrigieren, deren Code kein valides XHTML ausgeben. Ich meine, es ist eine Sache, wenn meine Artikel einfach unaufgeräumtes HTML beinhalten. Aber die Fehler anderer Leute ausbügeln, damit Success Denied endlich das Siegel verdient? Nunja, was getan werden muss, muss getan werden.

Und was das unaufgeräumte HTML angeht: Teilweise war das einfach Faulheit, teilweise waren es aber auch nur veraltete Kenntnisse meinerseits (Kein Target-Attribut mehr bei Links? :( ). Macht in den verfügbaren Browsern in 99% der Fälle keinen Unterschied, aber jetzt sinds jedenfalls 100% und alle sind zufrieden. Da bin ich sogar so stolz drauf, dass SuccessDenied künftig am unteren Rand das XHTML1.1-Siegel trägt.

Leider gibt es noch die Rubrik „Fotos“, die die NextGEN-Gallery als Plugin aufruft. Und die hat leider noch einen Fehler, den ich auf die Schnelle nicht beheben konnte. Im Prinzip hab ich also gemogelt, aber ich denke da wird mir niemand den Kopf abreißen, da alles andere ja jetzt fehlerfrei ist. Aber auch darum werd ich mich früher oder später kümmern. Sollten jemandem trotzdem noch andere Fehler auffallen, die mir entgangen sind, freue ich mich natürlich über Hinweise.