[PHP] NextGEN Gallery – Sortierung der Galerien

Hallo zusammen,

mal wieder die NextGEN Gallery.
Da ich es leid bin nun ständig alle Bilder per Hand zu bearbeiten und hochzuladen habe ich die Flash-Upload entdeckt… nachdem ich die Galerie schon Monate benutze. :-) Ein schickes Tool wenn man richtig viele Bilder hochladen möchte. Das funktioniert auch super! Nur einen kleinen Schönheitsfehler gibt es… die Sortierung.

Denn lade ich ein Bild einzeln hoch… dann landet es als erstes in der entsprechenden Galerie. Richtig, so soll es ja auch sein. Ist ja das neuste Bild also muss es als erstes angezeigt werden. Lade ein ganzes Verzeichnis per Flash Upload hoch dann bedeutet es (bei mir jedenfalls) das ich z.B. einen Tagesausflug dokumentiert habe… und dann möchte ich das dass erste geschossene Bild (also das eigentlich älteste) auch an erster Stelle haben.

Gut, der Programmierer kann das nicht voraus ahnen… aber er könnte z.B. für jede Galerie eine eigene Sortierungsoption angeben ;-)

Ich habe es für meine Zwecke (mal wieder) direkt im Quellcode geändert. Keine schöne Lösung, aber selten :-)

Wenn Du das auch so machen möchtest (vorsicht, beim nächsten Update ist alles wieder beim alten)… dann mache folgendes:

Rufe die Datei /wp-content/plugins/nggallery/nggfunctions.php mit einem Editor auf. Gehe in die Zeile 249 (ungefähr). Hier werden die Bilder sortiert:

$ngg_options[‚galSortDir‘] = ($ngg_options[‚galSortDir‘] == „DESC“) ? „DESC“ : „ASC“;

Ich habe es wie folgt gelöst. 2 verschiedene Alben. Eines mit Gallerien wo ich einzelne Bilder hochlade (aktuelle von mir oder so) und ein Album wo ich Galerien habe wo ich immer ganze Verzeichnisse hochlade. Du musst die ID’s der beiden Alben kennen. Hier nehme ich einfach 1 und 2 für das Beispiel.

Füge nun über der obigen Zeile den folgenden Code ein:

$album = get_query_var(‚album‘);

Damit haben wir nun die ID des aktuellen Albums. Jetzt müssen wir wissen welche Sortierung für welches Album. Album 1 ist letzte zuerst, also ASC. Bei Album 2 DESC.

if($album == 1) $ngg_options[‚galSortDir‘] = ($ngg_options[‚galSortDir‘] == „DESC“) ? „ASC“ : „DESC“;
else $ngg_options[‚galSortDir‘] = ($ngg_options[‚galSortDir‘] == „DESC“) ? „DESC“ : „ASC“;

Nun kann es sein das es jetzt genau falsch sortiert ist. Je nachdem wie Du die globale Sortierung eingestellt hast. Dann einfach entweder die globale Sortierung ändern oder $album == 1 gegen $album == 2 tauschen.

Das wars. Aber wie gesagt, wenn Du das nächste Update machst… ist wahrscheinlich alles wieder weg.

Gruss
Gordon

0 Antworten

Hinterlassen Sie einen Kommentar

Wollen Sie an der Diskussion teilnehmen?
Feel free to contribute!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*