Anpassen von Coppermine Themes (Text über einem Bild einfügen)

Begonnen von Christian001, 11 April 2006, 16:22:55

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

Christian001

Hallo..
Auf den Seiten auf denen die Bilder angezeigt werden steht ja "klicken für Bild in voller Größe" als Titel oder Ersatztext des Bildes. Also quasi "unter" dem Bild.
Also z.B. hier: http://72px.de/com/modules.php?name=Galerie&act=displayimage&album=24&pos=4

Das kann man aber nicht mehr lesen, sobald das Bild geladen wurde. Ich würde also gerne diesen Satz noch einmal GUT LESBAR also in 10 oder 12 Punkten und fett ÜBER jedem Bild anzeigen. Damit die Leute auch checken, dass sie da klicken sollen.

Bisher hab ich aber nicht rausgefunden in welcher Datei und WO da, man das einfügen müsste.
Jemand eine Idee?
Wäre super!
Danke im Voraus..
Christian



EDIT:
Titel geändert, da getoppter Beitrag

Andi

Moin :)

du meinst zwischen dem Bild und der Bildnavigation und dann aber nur, wenn es ein grösseres Bild gibt, oder?
schön´s Grüssle, Andi

Christian001

Ja richtig.. natürlich wärs eleganter, wenns nur da steht, WENN es auch ein größeres Bild gibt! ;) Du denkst ma wieder weiter als ich.. aber das wär ja mit ner IF-Anweisung sicher machbar..
Ich schnall nur nicht, wo man das hinmachen müsste... diese displayimage.php und so.. da find ich nix.. :(

Andi

Jop :)

klar, wäre ja unsinnig, wenn der Text da steht, aber dann nix passiert... ;)
Ich suche gerade die Stelle, das muss im Theme ergänzt werden.

Ist ja wirklich was sinnvolles...
Ich melde mich, wenn ich's gefunden habe ;)
schön´s Grüssle, Andi

Christian001

Danke Danke! ;)
Ja ich dachte schon in der template.html vom coppermine-Theme aber da steht nur {gallery} und das kanns ja nicht sein. Ausserdem würde da ja auch die IF-Anweisung nix bringen.
Also.. die Bilder laden bei mir so schnell, dass man den text kaum lesen kann und bei Opera zeigt ers auch nicht mehr an, wenn man mit der Maus aufs Bild fährt.
Wäre also super, wenn das machbar wäre.
Danke schonma...  :thumbup:

Andi

Moin :)

so, habe die passende Stelle gefunden und dabei bemerkt, dass für das Bild nur das "alt" Attribut verwendet wird. Aber nur der IE verwendet alt als Hovertitel, was eigentlich nicht W3C konform ist. Um den Text als Hover anzuzeigen muss das "title" Attribut verwendet werden.

Es würde doch eigentlich genügen, wenn der Hinweis zum Klicken in dem kleinen Hover-popup erscheint oder?
schön´s Grüssle, Andi

Christian001

Hey, nein das würde meiner Meinung nach nicht reichen.
Um das zu sehen, müssen die Leute die Maus über das Bild bewegen und dann auch noch lange genug still halten um das Hoverdingen zu sehen.
Das bringts nich. Ich muss den Leuten ständig sagen.. klickt da ma drauf.. sonst seht ihr nur das kleine Foto...

Also.. ich wär Dir auf jeden Fall dankbar, wenn Du mir erklären könntest, was für ne IF-Anweisung ich wo in welcher Datei einbauen muss, damit der da über dem Bild so einen Satz anzeigt...

Kann natürlich jeder selbst entscheiden, was er besser findet aber meiner Erfahrung nach, checken viele das nicht. Und ich leg schon Wert darauf, dass man sich meine Fotos in groß anguckt! *g*
Danke schonmal..

Andi

Oki :)

ne kurze Anleitung, auch gleich zum grundsätzlichen Anpassen von Coppermine-Themes:

Die Coppermine 1.4.x verwendet ein sogenanntes Fallback-Theme. Das bedeutet, dass alle Standarddinge für ein Theme nicht im Theme direkt abgelegt sind, sondern in einer zentralen Datei die allen Themes zur Verfügung steht. Das ist die /modules/Gallery/include/themes.inc.php. Also, alles was im Theme nicht speziell angepasst sein soll, kommt aus dieser Datei, dem "Fallback-Theme".
Das mx-port Theme verwendet fast vollständig die Funktionen des Fallback-Themes.

Um das mx-port Theme anzupassen müsste man wie folgt vorgehen:

- nicht das Original-Theme ändern, sondern vom kompletten Ordner des Themes eine 1:1 Kopie erstellen und dem Ordner einen hübschen Namen verpassen.
- die Stelle, die man ändern will zuerst in der theme.php des "neuen" Themes suchen. Ist die Stelle dort nicht zu finden, wird die Fallback-Funktion verwendet. Dann also diese Stelle in der /modules/Gallery/include/themes.inc.php suchen.
- Normalerweise ist dort alles in Funktionen oder Variablen gepackt. Diese Funktion, oder Variable, muss man komplett aus der themes.inc.php in die theme.php des Themes kopieren.
- hier in der theme.php kann die Stelle dann nach belieben angepasst werden und wird dann in diesem "neuen" Theme entsprechend verwendet/angezeigt.

In dem Fall:
Das Template zum Anzeigen des Bildes befindet sich in der themes.inc.php und dort in der Funktion theme_html_picture().
Diese Funktion function theme_html_picture()
{
    global $CONFIG, $CURRENT_PIC_DATA, $CURRENT_ALBUM_DATA, $USER;
    global $album, $comment_date_fmt, $template_display_media;

/// ... gekürzt ....

        '{TITLE}' => bb_decode($CURRENT_PIC_DATA['title']),
        '{CAPTION}' => bb_decode($CURRENT_PIC_DATA['caption']),
        );

    return template_eval($template_display_media, $params);
}

kopieren wir komplett in die theme.php des neuen Themes:

Die entsprechende Stelle mit dem Bild is folgendes:
    if ($mime_content['content']=='image') {
        if (isset($image_size['reduced'])) {
            $winsizeX = $CURRENT_PIC_DATA['pwidth']+5;  //the +'s are the mysterious FF and IE paddings
            $winsizeY = $CURRENT_PIC_DATA['pheight']+3; //the +'s are the mysterious FF and IE paddings
            $pic_html = "<a href=\"javascript:;\" onclick=\"MM_openBrWindow('displayimage.php?pid=$pid&amp;fullsize=1','" . uniqid(rand()) . "','scrollbars=yes,toolbar=no,status=no,resizable=yes,width=$winsizeX,height=$winsizeY')\">";
            $pic_title = $lang_display_image_php['view_fs'] . "\n==============\n" . $pic_title;
            $pic_html .= "<img src=\"" . $picture_url . "\" class=\"image\" border=\"0\" alt=\"{$lang_display_image_php['view_fs']}\" /><br />";
            $pic_html .= "</a>\n";
        } else {
            $pic_html = "<img src=\"" . $picture_url . "\" {$image_size['geom']} class=\"image\" border=\"0\" alt=\"\" /><br />\n";
        }
    } elseif ($mime_content['content']=='document') {


Das ändern wir wie folgt ab:
    if ($mime_content['content']=='image') {
        if (isset($image_size['reduced'])) {
            $winsizeX = $CURRENT_PIC_DATA['pwidth']+5;  //the +'s are the mysterious FF and IE paddings
            $winsizeY = $CURRENT_PIC_DATA['pheight']+3; //the +'s are the mysterious FF and IE paddings
            $pic_html = "<a href=\"javascript:;\" onclick=\"MM_openBrWindow('displayimage.php?pid=$pid&amp;fullsize=1','" . uniqid(rand()) . "','scrollbars=yes,toolbar=no,status=no,resizable=yes,width=$winsizeX,height=$winsizeY')\">";
            $pic_title = $lang_display_image_php['view_fs'] . "\n==============\n" . $pic_title;
            $pic_html .= "<small class=\"user_thumb_infobox\">".$lang_display_image_php['view_fs']."</small><br>";
            $pic_html .= "<img src=\"" . $picture_url . "\" class=\"image\" border=\"0\" alt=\"{$lang_display_image_php['view_fs']}\" title=\"{$lang_display_image_php['view_fs']}\" /><br />";
            $pic_html .= "</a>\n";
        } else {
            $pic_html = "<img src=\"" . $picture_url . "\" {$image_size['geom']} class=\"image\" border=\"0\" alt=\"\" /><br />\n";
        }
    } elseif ($mime_content['content']=='document') {


Hinzu kommt also folgende Zeile:            $pic_html .= "<small class=\"user_thumb_infobox\">".$lang_display_image_php['view_fs']."</small><br>";

Und den Image-Tag erweitern wir gleich noch um das title-Attribut:
title=\"{$lang_display_image_php['view_fs']}\"

Bisserl schwer zu erklären, geänderte Datei für das mx-port Theme anbei ;)
Demo: http://demo.pragmamx.org/Gallery-image-random-0--4.html

nochmal:
- nicht das mx-port theme verändern, sondern eine Kopie
- nicht die themes.inc.php verändern, sondern die netsprechende Funktion/Variable in das Theme kopieren

[gelöscht durch Administrator]
schön´s Grüssle, Andi

Christian001

#8
Hey..
Also erstma vielen Dank für die ganze Arbeit.. :) Hätte jetzt gar nich mit soner umfangreichen Antwort gerechnet.
Aber nur mal damit ichs verstehe. Die theme.php, die Du mir unten angehängt hast, ist jetzt die fertige Version, die ich eigentlich einfach in meinen coppermine theme-ordner hochladen sollte und dann gehts?
Weil das hab ich (fauler Weise ^^) natürlich einfach mal gemacht und dabei kam raus:

Parse error: syntax error, unexpected $end, expecting ')' in /home/www/ncf61/html/com/modules/Galerie/themes/mx-port/theme.php on line 389

389 Zeilen gibts da natürlich nicht in der Datei weswegen ich auch noch nicht hinter die Ursache gestiegen bin. Aber nur mal bevor ich jetzt alles nachbaue, was Du da erklärt hast.. hab ich das mit der theme.php falsch verstanden?
Danke jedenfall! ;)
Christian

Christian001

Hehe, okay sorry, vergiss den letzten Post. Ich hab die theme.php mit Opera runtergeladen, der hat das irgendwie in ne .htm - Datei verwurstet und dabei ist was verloren gegangen (das Ende der Datei) Aber es lebe der Internet Explorer.. *lol* Und jetzt geht alles wunderbar!!
Also 1000Dank für die Hilfe.. (Naja Hilfe.. Danke fürs alles alleine machen ^^)
Das sollte wirklich standardmäßig in der coppermine drin sein.
CU
Christian

Andi

Fein dass es funzt :)

ZitatHätte jetzt gar nich mit soner umfangreichen Antwort gerechnet.
Naja, wollte eben mal was grundsätzliches dazu los lassen, auf was ich später wieder verlinken kann ;)  ;D
schön´s Grüssle, Andi

m-t

Zitat von: Christian001 am 11 April 2006, 16:22:55
Auf den Seiten auf denen die Bilder angezeigt werden steht ja "klicken für Bild in voller Größe" als Titel oder Ersatztext des Bildes.

Öhm, bei mir steht da nix, und es fragen doch einige ob es das ein oder andere Bild nicht größer gibt :-(

Lässt sich das an- oder abschalten ??

Andi

Hi :)

genau da drum dreht es sich in dem Thread ;)

Das kleine Popup mit dem Hinweistext sieht man nur im Internetexplorer.
Deswegen habe ich ja die kleine Erweiterung geschrieben ;)
schön´s Grüssle, Andi