Sortierung in einem bestimmten Album ändern Sortierung in einem bestimmten Album ändern
 

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Main Menu

Sortierung in einem bestimmten Album ändern

Started by Tankertom, March 15, 2015, 07:09:09 PM

Previous topic - Next topic

0 Members and 2 Guests are viewing this topic.

Tankertom

Hallo,

in einem bestimmten Album möchte ich die Sortierung a la
Quotethumbnails.php?album=toprated&cat=-224
einbauen. Der Hintergrund, ich möchte nur in diesem Album immer das beste bewertest Bild an erster Stelle anzeigen(Wettbewerbsystematik)

VG TT

flapane

Nada... man kann nicht der Blick des eines bestimmtes Album kontrollieren, und das ist doch nicht möglich auch mit theme.php, weil das Loop in dem Template egal fur alle Alben ist.
Flapane
www.flapane.com

Gallery
www.gallery.flapane.com

Αndré

Theoretisch müsste man "nur" alle Verweise auf das Album durch deinen Link ersetzen. D.h. man würde den Quelltext (via Plugin oder Code-Modifikation) nach
thumbnails.php?album=224
durchsuchen und entsprechend durch
thumbnails.php?album=toprated&cat=-224
ersetzen.

Falls deine Besucher jedoch ein Bild direkt aufrufen (z.B. displayimage.php?pid=123), befinden sie sich automatisch in der normalen Sortierung des Albums, wenn sie zurück/weiter klicken. Solche Links findet man z.B. in den Datei-Informationen und sicherlich auch an anderen Stellen in Coppermine. Kannst du damit leben, oder wäre das ein K.O.-Kriterium für o.g. Lösung?

Tankertom

Hallo Andre,

damit kann ich total gut leben, da alle anderen Informationen schon ausgeblendet sind. Es gibt keinen Hinweis mehr auf den Uploader, Dateinamen und Exif Daten, damit die Bilder so bewertet werden können wie es halt mit Bildern geschehen soll.
Dann gehe ich mal auf die Suche nach den ganzen Links und ändere diese ;-)oder kannst du mir die Hauptstellen benennen?

VG

TT


Αndré

Die Links werden dynamisch generiert. Es ist vermutlich deutlich einfacher ein kleines Plugin zu erstellen oder direkt die Funktionen theme_display_album_list und theme_display_album_list_cat in der theme.php-Datei anzupassen. Such dort einfach mal nach
{ALB_LINK_TGT}

Ich vermute du weißt, was zu tun ist ;) Wenn nicht, sag noch mal kurz Bescheid.

Tankertom

Hi,

ein Plugin hätte natürlich den charmanten Vorteil das man auch ein "neues" oder "anders" Album nutzen könnte.
Quote{ALB_LINK_TGT}
hätte ich nun nicht gerechnet, das muss ich in meiner theme.php nachpflegen..

VG

Tankertom

so geschaft... die Galerie tut was sie tun soll. Nun muss ich aber nochmal auf den aufgeworfenen Punkt von dir zurück kommen.
Quote
Falls deine Besucher jedoch ein Bild direkt aufrufen (z.B. displayimage.php?pid=123), befinden sie sich automatisch in der normalen Sortierung des Albums
Wo genau wird das zusammengesetzt? Dann könnte man das Album an der Stelle ja auch "auskommentieren" ???

VG TT

Αndré

Ohne zuviel versprechen zu wollen, wird das vermutlich innerhalb der Funktion "theme_html_img_nav_menu()" festgelegt.

Tankertom

hi,

in dieser Funktion bin ich leider nicht fündig geworden.

Αndré

Die Idee war, dass du die Variablen $start_tgt, $prev_tgt, $next_tgt und $end_tgt anpasst (idealerweise dann auch noch die dazugehörigen Variablen mit den Endungen *_title und *_image). Das ist aber bei genauerer Überlegung viel zu aufwändig, stattdessen überprüfen wir lieber beim Seitenaufruf, in welchem Album sich der Benutzer befindet und leiten ihn ggf. mittels Redirect in das Meta-Album um. Ich werde gleich mal versuchen die beste Stelle dafür zu finden und den Mod dann hier veröffentlichen.

Αndré

Füge die Funktion theme_html_img_nav_menu in die theme.php-Datei deines Themes ein, wenn sie dort noch nicht existiert. Suche dann nach
$superCage = Inspekt::makeSuperCage();
und füge darüber folgenden Code ein
    if ($album == 224) {
        $target = "$CPG_PHP_SELF?album=toprated&cat=-$album&pid={$CURRENT_PIC_DATA['pid']}";
        header("Location: $target");
    }


So in etwa könnte auch der Code für die thumbnails.php-Ansicht aussehen, nur eben in einer anderen Funktion.

Αndré

Quote from: Αndré on June 02, 2015, 08:35:18 PM
So in etwa könnte auch der Code für die thumbnails.php-Ansicht aussehen, nur eben in einer anderen Funktion.

Der Vollständigkeit halber: Füge die Funktion theme_display_thumbnails in die theme.php-Datei deines Themes ein, wenn sie dort noch nicht existiert. Suche dann nach
$superCage = Inspekt::makeSuperCage();
und füge darüber folgenden Code ein
    if ($aid == 224) {
        $target = "$CPG_PHP_SELF?album=toprated&cat=-$aid";
        header("Location: $target");
    };

Tankertom