Schlagwort-Archive: W3C

Eine neue Version der NextGEN Gallery – eine neue Runde für meinen Kampf gegen Windmühlen. Ein kurzer Blick auf den Quellcode der neuen Version zeigt: Die betroffene Zeile wurde zwar von 1.7.3 auf 1.7.4 modifiziert, aber der alte Fehler ist noch drin. Der Code ist weiterhin nicht valide wenn zwei oder mehr Galerien auf derselben Seite angezeigt werden. Ich frage mich, wie lange es noch dauert, bis das behoben wird.

Also hier die aktualisierte Fassung meiner kleinen Korrektur. Geöffnet werden muss die Datei /wp-content/plugins/nextgen-gallery/lib/navigation.php. Folgender Abschnitt muss gefunden werden:

In der vierten Zeile alles ab (einschließlich) id= bis vor href= entfernen. Also folgendermaßen:

Mann, was freu ich mich schon auf die nächste Version in drei Wochen, wenn ich den Fehler wieder fixen darf…

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.