Image-Modul/Gallery
Eingetragen von klaus999 (27)
am 01.08.2008 - 10:47 Uhr in
am 01.08.2008 - 10:47 Uhr in
Die Titel der Bilder werden in den Galerien des Image-Moduls/Gallery als Bildunterschriften angezeigt, die gleichzeitig Links sind. Diese Linkfunktion würde ich gern abschalten, finde aber keinen Punkt, wo ich das tun könnte. inzwischenverzweifeltbin
Ich wäre schon zufrieden, wenn der Link wenigstens in einem neuen Fenster öffnen würde.
Ein schönes Wochenende
Klaus
- Anmelden oder Registrieren um Kommentare zu schreiben
theme_image_gallery_img
am 01.08.2008 - 11:01 Uhr
Ein kurzer Blick in das Modul image_gallery zeigt, dass die Anzeige der Bilder über die Funktion
theme_image_gallery_img()
gesteuert wird.Wenn Du diese Funktion in Deiner template.php überschreibst, kannst Du die Links entfernen oder auch ein
target="blank"
hinzufügen:<?php
function phptemplate_image_gallery_img($image, $size) {
$width = $size['width'];
// We'll add height to keep thumbnails lined up.
$height = $size['height'] + 75;
$content = '<li';
if ($image->sticky) {
$content .= ' class="sticky"';
}
$content .= " style='height : {$height}px; width : {$width}px;'>\n";
$content .= l(image_display($image, IMAGE_THUMBNAIL), 'node/'. $image->nid, array('html' => TRUE));
// Bildunterschrift
// $content .= '<h3>'. l($image->title, 'node/'. $image->nid) .'</h3>';
$content .= '<h3>'. $image->title .'</h3>';
if (variable_get('image_gallery_node_info', 0)) {
$content .= '<div class="author">'. t('Posted by: !name', array('!name' => theme('username', $image))) ."</div>\n";
if ($image->created > 0) {
$content .= '<div class="date">'. format_date($image->created) ."</div>\n";
}
}
$content .= "</li>\n";
return $content;
}
?>
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Link
am 01.08.2008 - 15:05 Uhr
Hallo Stefan,
vielen Dank für die schnelle Antwort. Ich werde es am Montag gleich ausprobieren und hoffe, daß damit wieder ein Problem gelöst ist.
Ein schönes Wochenende
Klaus
theme_image_gallery_img
am 04.08.2008 - 09:12 Uhr
Hallo Stefan,
Ein kurzer Blick in das Modul image_gallery zeigt, dass die Anzeige der Bilder über die Funktion
theme_image_gallery_img()
gesteuert wird.Das wäre diese Zeile, wenn ich Dich richtig verstehe:
// Bildunterschrift
$content .= '
'. l($image->title, 'node/'. $image->nid) .'
';
Versuche, diese Zeile zu modifizieren - wobei ich nur nach dem Prinzip try and error arbeiten kann - brachten nur Fehlermeldungen bzw. ganz falsche Links.
Aber Du schriebst ja auch:
Wenn Du diese Funktion in Deiner template.php überschreibst, kannst Du die Links entfernen oder auch ein
target="blank"
hinzufügen:"Meine" template.php liegt im Verzeichnis themes/garland, doch dort findet sich dieser Funktionsaufruf nicht. Ich weiß also nicht, was ich da überschreiben könnte. An welchem Punkt habe ich Dich falsch verstanden? Muß ich nicht doch die o.a. Zeile im Modul image_gallery modifizieren? Wenn ja - wie?
Gruß Klaus
template.php
am 04.08.2008 - 09:22 Uhr
Das wäre diese Zeile, wenn ich Dich richtig verstehe:
<?php
// Bildunterschrift
$content .= '<h3>'. l($image->title, 'node/'. $image->nid) .'</h3>';
?>
Genau.
..."Meine" template.php liegt im Verzeichnis themes/garland, doch dort findet sich dieser Funktionsaufruf nicht. Ich weiß also nicht, was ich da überschreiben könnte. An welchem Punkt habe ich Dich falsch verstanden? Muß ich nicht doch die o.a. Zeile im Modul image_gallery modifizieren? Wenn ja - wie?
Bloss nicht. Direkt die Module zu verändern ist nicht ratsam, da die Veränderungen nach dem nächsten Update nicht mehr da sind.
Mit "überschreiben" war gemeint, dass Du die Funktion
theme_image_gallery_img
(aus dem Modul image_gallery) in der template.php quasi ersetzen kannst.Das machst Du, indem Du in die entsprechende template.php eine neue Funktion (da noch nicht vorhanden) namens
phptemplate_image_gallery_img
(oder auchgarland_image_gallery_img
) einfügst (mit dem bereits geposteten Inhalt).Damit sagst Du drupal, dass ab jetzt nicht mehr
theme_image_gallery_img
zur Anzeige der einzelnen Bilder in der Galerie verwendet werden soll, sondernphptemplate_image_gallery_img
.hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo Stefan, schön, daß
am 04.08.2008 - 09:53 Uhr
Hallo Stefan,
schön, daß Du gerade online warst (bist).
... in die entsprechende template.php eine neue Funktion (da noch nicht vorhanden) namens
phptemplate_image_gallery_img
... einfügst (mit dem bereits geposteten Inhalt).Damit sagst Du drupal, dass ab jetzt nicht mehr
theme_image_gallery_img
zur Anzeige der einzelnen Bilder in der Galerie verwendet werden soll, sondernphptemplate_image_gallery_img
.Habe es genau so gemacht, wie Du es beschrieben hast. Doch Drupal will mich wohl nicht verstehen. Es benutzt noch immer die Funktion aus Modul image_gallery. Auch nachdem ich den Cache geleert hatte keine Änderung, noch immer Links statt des erwünschten h3. $image->title ./h3, egal ob ich die Funktion an den Anfang oder das Ende der garland/template.php stelle. ???
theme_img
am 04.08.2008 - 11:06 Uhr
Hm.
Wo die Funktion in der template.php steht macht nichts.
Moment, Du benutzt drupal6! Das heisst, sämtliche theme-Funktionen sind in der theme registry gespeichert. So wie ich das verstehe, musst Du die registry einmal kurz leeren. Dann sollte die neue Funktion auch verwendet werden.
hth,
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo Stefan, hat
am 04.08.2008 - 13:20 Uhr
Hallo Stefan,
hat funktioniert, werd's mir auch für die Zukunft merken, hab vielen Dank für die schnelle Hilfe.
Klaus