Zurück   WordPress Deutschland Forum > Support > Konfiguration

Antwort
 
Themen-Optionen Ansicht
Alt 02.05.2008, 17:06   #1 (permalink)
PostRank: 4
 
Benutzerbild von tokyopunk
 
Registriert seit: 08.05.2006
Beiträge: 265
WP 2.5 Gallery - Bilder in neuem Fenster öffnen

Hallo,

gibt es eine Möglichkeit, die mit [gallery] angezeigten Bilder einer Galerie beim Klick in voller Größe und in einem neuen Fenster zu öffnen?

Grüße, Marcel
__________________
www.amypink.com
tokyopunk ist offline   Mit Zitat antworten
Alt 05.05.2008, 09:20   #2 (permalink)
PostRank: 0
 
Benutzerbild von webbiker1
 
Registriert seit: 21.01.2008
Beiträge: 6
Hallo,

die selbe Frage!
Ich habe versucht beim Einfügen der Galerie die verschiedenen Einstellungen zu verwenden/speichern.
URL: Keine / Datei URL / Artikel-URL (siehe Anhang)
Die verschiedenen URL Einstellungen bleiben wirkungslos, es wird immer Artikel-URL verwendet.

Kann uns jemand weiterhelfen?

Gruss Hansi
Angehängte Grafiken
Dateityp: jpg Bild 1.jpg (20,3 KB, 15x aufgerufen)
__________________
Mac OSX 10.5.2 Mac Pro 2.66 GHz Speicher: 6 GB
webbiker1 ist offline   Mit Zitat antworten
Alt 05.05.2008, 11:07   #3 (permalink)
WPD-Moderator
 
Benutzerbild von Alphawolf
 
Registriert seit: 31.05.2005
Ort: Gera Ghetto
Beiträge: 3.249
Also ich hatte mal die Stelle im Code angeschaut, wo der Link zu den Bildern erstellt wird, und habe dort keinen Hook gefunden, wo man einhaken könnte mit einem Plugin. Man möge mich korrigieren.
__________________
FAQ // Doku // Erbreiterungen
wpseek.com // WordPress World Map
Alphawolf ist offline   Mit Zitat antworten
Alt 09.05.2008, 09:51   #4 (permalink)
PostRank: 0
 
Benutzerbild von webbiker1
 
Registriert seit: 21.01.2008
Beiträge: 6
--schieb--

Hat noch keiner eine Lösung?
__________________
Mac OSX 10.5.2 Mac Pro 2.66 GHz Speicher: 6 GB
webbiker1 ist offline   Mit Zitat antworten
Alt 09.05.2008, 14:29   #5 (permalink)
PostRank: 4
 
Registriert seit: 23.01.2007
Ort: Erlangen
Beiträge: 205
Man könnte den Filter 'post_gallery' eine eigene Galleriefunktion übergeben die dann auf das Bild in Rohform verweist oder ein eigenes Template o.Ä.

Nachteil ist dass man dann die komplette Gallerieanzeige auch implementieren muss...

Edit: Oder man gibt dem gallery-Shorttag eine neue Funktion (Overriding), das Original in /wp-includes/media.php:
Code:
add_shortcode('gallery', 'gallery_shortcode');

function gallery_shortcode($attr) {
    global $post;

    // Allow plugins/themes to override the default gallery template.
    $output = apply_filters('post_gallery', '', $attr);
    if ( $output != '' )
        return $output;

    // We're trusting author input, so let's at least make sure it looks like a valid orderby statement
    if ( isset( $attr['orderby'] ) ) {
        $attr['orderby'] = sanitize_sql_orderby( $attr['orderby'] );
        if ( !$attr['orderby'] )
            unset( $attr['orderby'] );
    }

    extract(shortcode_atts(array(
        'orderby'    => 'menu_order ASC, ID ASC',
        'id'         => $post->ID,
        'itemtag'    => 'dl',
        'icontag'    => 'dt',
        'captiontag' => 'dd',
        'columns'    => 3,
        'size'       => 'thumbnail',
    ), $attr));

    $id = intval($id);
    $attachments = get_children("post_parent=$id&post_type=attachment&post_mime_type=image&orderby={$orderby}");

    if ( empty($attachments) )
        return '';

    if ( is_feed() ) {
        $output = "\n";
        foreach ( $attachments as $id => $attachment )
            $output .= wp_get_attachment_link($id, $size, true) . "\n";
        return $output;
    }

    $listtag = tag_escape($listtag);
    $itemtag = tag_escape($itemtag);
    $captiontag = tag_escape($captiontag);
    $columns = intval($columns);
    $itemwidth = $columns > 0 ? floor(100/$columns) : 100;
    
    $output = apply_filters('gallery_style', "
        <style type='text/css'>
            .gallery {
                margin: auto;
            }
            .gallery-item {
                float: left;
                margin-top: 10px;
                text-align: center;
                width: {$itemwidth}%;            }
            .gallery img {
                border: 2px solid #cfcfcf;
            }
            .gallery-caption {
                margin-left: 0;
            }
        </style>
        <!-- see gallery_shortcode() in wp-includes/media.php -->
        <div class='gallery'>");

    foreach ( $attachments as $id => $attachment ) {
        $link = wp_get_attachment_link($id, $size, true);
        $output .= "<{$itemtag} class='gallery-item'>";
        $output .= "
            <{$icontag} class='gallery-icon'>
                $link
            </{$icontag}>";
        if ( $captiontag && trim($attachment->post_excerpt) ) {
            $output .= "
                <{$captiontag} class='gallery-caption'>
                {$attachment->post_excerpt}
                </{$captiontag}>";
        }
        $output .= "</{$itemtag}>";
        if ( $columns > 0 && ++$i % $columns == 0 )
            $output .= '<br style="clear: both" />';
    }

    $output .= "
            <br style='clear: both;' />
        </div>\n";

    return $output;
}
Die Idee ist interessant, soll das Bild an sich im Browserfenster geöffnet werden oder eine Templateseite mit dem Bild als Inhalt? Diese Variante ist für mich auch interessant, vielleicht setze ich mich dran falls Zeit bleibt.

Geändert von cywhale (09.05.2008 um 14:43 Uhr).
cywhale ist offline   Mit Zitat antworten
Alt 09.05.2008, 15:41   #6 (permalink)
PostRank: 0
 
Benutzerbild von webbiker1
 
Registriert seit: 21.01.2008
Beiträge: 6
Danke!
Ich werde das Skript bei Gelegenheit testen.
Eine "Templateseite mit dem Bild" währe eine tolle Lösung, es müsste nicht ein neues Fenster sein.

Gruss Hansi
__________________
Mac OSX 10.5.2 Mac Pro 2.66 GHz Speicher: 6 GB
webbiker1 ist offline   Mit Zitat antworten
Alt 09.05.2008, 15:46   #7 (permalink)
PostRank: 4
 
Registriert seit: 23.01.2007
Ort: Erlangen
Beiträge: 205
Momeeeent - das oben ist kein 'Script zum testen' sondern ein Auszug des Originalcodes (sh. URL).

Habe gerade etwas rumgespielt, eine Ansicht des grossen Bildes in eigener Unterseite lässt sich so erreichen (WP 2.5+):

- WEnn nicht vorhanden eine templateverzeichnis/image.php anlegen (kopierte single.php)
- Alle unnötigen Ausgaben entfernen (the_content, the_excerpt..., Kommentare, Metadaten,...)
- statt the_content-Ausgabe folgendes einfügen (an gleicher Stelle)
Code:
<?php echo wp_get_attachment_image( $post->ID, 'large' ); ?>
Da kein Link drumrum ist wird einfach das Bild angezeigt, fertig. Funktioniert in meiner Theme-Screenshot-Gallery gut, jetzt muss ich mich nur noch ums schönere Formatieren kümmern
cywhale ist offline   Mit Zitat antworten
Alt 09.05.2008, 16:00   #8 (permalink)
WPD-Moderator
 
Benutzerbild von Alphawolf
 
Registriert seit: 31.05.2005
Ort: Gera Ghetto
Beiträge: 3.249
Zitat:
Zitat von cywhale Beitrag anzeigen
Man könnte den Filter 'post_gallery' eine eigene Galleriefunktion übergeben die dann auf das Bild in Rohform verweist oder ein eigenes Template o.Ä.
Das wird IMO nicht viel bringen, da dieser Hook nur das Gallery-"Aussehen" beeinflusst. Der eigentliche Link der Bilder wird mit
PHP-Code:
wp_get_attachment_link($id$sizetrue); 
erstelllt. Und diese Funktion hat leider keinen Eingreifpunkt/Hook, sodass man ohne
1. die Kern-Datei zu bearbeiten
2. den gesamten Gallery-Code zu kopieren und bearbeiten zu müssen

den Link wohl derzeit nicht auf "Direktlink zum Bild" umbauen kann.
__________________
FAQ // Doku // Erbreiterungen
wpseek.com // WordPress World Map
Alphawolf ist offline   Mit Zitat antworten
Alt 09.05.2008, 16:21   #9 (permalink)
PostRank: 4
 
Registriert seit: 23.01.2007
Ort: Erlangen
Beiträge: 205
Ja, wp_get_attachment_url() benutzen (wenn es denn funktioniert, ungetestet) und den obigen Originalcode bearbeiten und als gallery-Shortcode benutzen, das müsste das Ziel 'Grosses Bild als Direktlink' erreichbar machen.

Für meinen Teil bin ich mit dem 'image.php'-Template zur Anzeige des Grossformats recht zufrieden, werde da etwas weiter rumprobieren.

Edit: Alphawolf, gerade gefunden :Plugin API/Filter Reference « WordPress Codex
Da ist ein Filter für 'attachment_link' gelistet.

Geändert von cywhale (09.05.2008 um 17:01 Uhr).
cywhale ist offline   Mit Zitat antworten
Alt 09.05.2008, 18:44   #10 (permalink)
WPD-Moderator
 
Benutzerbild von Alphawolf
 
Registriert seit: 31.05.2005
Ort: Gera Ghetto
Beiträge: 3.249
Zitat:
Zitat von cywhale Beitrag anzeigen
Edit: Alphawolf, gerade gefunden :Plugin API/Filter Reference « WordPress Codex
Da ist ein Filter für 'attachment_link' gelistet.
Damit lässt sich was anfangen. Danke dir!

Hier nun ein kleines Plugin, das nun doch die Links der Gallery auf die Vollbild-URL zeigen lässt:
PHP-Code:
<?php
/*
Plugin Name: WP Gallery 2.5 Full Image Link
Plugin URI: http://forum.wordpress-deutschland.org/konfiguration/34101-wordpress-2-5-gallery-bilder-neuem-fenster-oeffnen.html
Description: Link gallery images to full size instead of in their templated view.
Version: 0.7
Author: Oliver Schl&ouml;be
Author URI: http://www.schloebe.de/
*/

function os_wp_gallery_img_full$link$id ) {
    global 
$post;
    if( !
$id $id = (int) $post->ID;
    
    
$link wp_get_attachment_url$id );
    return 
$link;
}

add_filter('attachment_link''os_wp_gallery_img_full'5002);
?>
Im wp-content/plugins - Verzeichnis ein Verzeichnis wp-gallery-img-full anlegen, darin eine Datei wp-gallery-img-full.php erstellen und den obigen Code einfügen. Plugin aktivieren, fertig.

Allerdings bin ich mir nicht ganz sicher, was damit noch alles umgeschrieben wird, da ja zu Attachments neuerdings auch Audio- und flash-Dateien gehören können... wenn möglich mal testen.
__________________
FAQ // Doku // Erbreiterungen
wpseek.com // WordPress World Map
Alphawolf ist offline   Mit Zitat antworten
Antwort

Lesezeichen

Themen-Optionen
Ansicht

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist aus.
HTML-Code ist aus.
Trackbacks are aus
Pingbacks are aus
Refbacks are aus



Alle Zeitangaben in WEZ +1. Es ist jetzt 03:15 Uhr.


Powered by vBulletin® Version 3.8.4 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 | Impressum | WordPress Agentur | Ein Inpsyde.com Projekt