Thickbox + Imagecache - CCK
am 10.12.2007 - 00:28 Uhr in
Hallo,
meine Thickbox-Integration will irgendwie nicht so wie ich will. Nachdem ich seit Stunden rumprobiere und keine Lösung finde, frag ich mal das schlaue Forum.
Die Ausgangslage:
Ich benutze das Image Modul und Imagecache für meine Galerien sowie ein eigenes Theme für das Aussehen der Galerie. Klappt wunderbar. Jetzt soll sich bei einem Klick auf meinen Thumbnail bitte eine Thickbox öffnen.
Ohne Imagecache:
Wenn ich die Thumbs ohne Imagecache anzeige (und damit nicht mehr quadratisch), funktioniert alles. Das ist der Aufruf:
<?php
$content .= l(image_display($image, IMAGE_THUMBNAIL), 'node/'. $image->nid, array(), NULL, NULL, FALSE, TRUE);
?>Aber wenn ich den Funktionsaufruf von image_display gegen imagecache austausche:
<?php
$image_css['attributes']['class'] = 'image image-thumbnail';
$content .= l(theme('imagecache', 'square110', $image->images['preview'], 'Titel, 'Alt', $image_css['attributes']), 'node/'. $image->nid, array(), NULL, NULL, FALSE, TRUE);
?>...dann mischt sich die Thickbox übelst ein und generiert per JavaScript zur Laufzeit solche Links:
<?php
http://mein.domain.com/files/imagecache/square110/files/images/CIMG7380.preview.JPG
?>Möchte also die gecachten kleinen Thumbs anzeigen. Die will ich aber nicht, sondern die Originalbilder.
Vielleicht ist mein Ansatz auch komplett falsch. Ich hab viele Tutorials zu dem Thema gefunden. Aber alle funktionieren mit CCK und dass man einen neuen Typ definiert. Ich möchte aber "einfach" nur meine mit imagecache erzeugten Thumbs auf eine Thickbox verweisen lasssen. Erbarmt sich jemand und gibt mir einen Tipp?
Die Link-Erzeugung erfolgt übrigens per Javascript. Bei ausgeschaltetem Javascript verweisen die Thumbs auf die Nodes (und so steht es auch im HTML-Code):
http://meine.domain.com/node/800
- Anmelden oder Registrieren um Kommentare zu schreiben

Das hier steht in der
am 10.12.2007 - 00:48 Uhr
Das hier steht in der thickbox-auto.js, die ich für verantwortlich halte...
<?php
function TB_drupal_rewrite(context, group) {
// Process only images, that have not been rewritten (.thickbox) and that are not categories.
$("a[img.image.image-thumbnail]", context).not(".thickbox").not(".category").each(function(i) {
var img = $(this).children("img");
var title = $(this).attr("title") || img.attr("title") || img.attr("alt") || null;
/**
* ATTENTION: Until the derivate Bug (http://drupal.org/node/125610) is fixed,
* the script should allways use the original picture ("true || ").
*/
if (thickbox_derivative == "_original") {
var href = img.attr("src").replace(".thumbnail", "");
}
else {
var href = img.attr("src").replace(".thumbnail", "." + thickbox_derivative);
}
// Finally rewrite the link and wait for thickbox.js to apply the effects.
$(this).attr({href: href, title: title, rel: group});
$(this).addClass("thickbox");
});
}
?>