Customfilter <img> Filter
am 29.03.2010 - 14:12 Uhr in
Hallo liebe Drupaler.
Ich komme leider einfach nicht weiter und verstehe es nicht wie ich das umsetzten kann. Ich will mit den Modul Custom Filter ein Filter erstellen der alle Bilder im Text automatisch mit Imagechace auf eine kleine größe schaltet und dann mit Thickbox versehen.
Diesen Artikel (http://drupal.org/node/210555) habe ich mir schon durchgelesen aber irgendwie bin ich dann doch nicht so das PHP-Genie. Vielleicht hat ja jemand soetwas ähnliches schon mal gemacht und könnte mir das hier rein Posten. Wäre ja glaube ich auch für andere Leute hilfreich. Also im Pattern habe ich schon mal folgendes stehen:
/(<img[^>]+(src="([\w|\.|\/|\-|\_]+)")[^>]+\/>)/
Viele Grüße
Sascha
- Anmelden oder Registrieren um Kommentare zu schreiben
custom filter
am 29.03.2010 - 18:13 Uhr
Hallo.
Ich hab mal ein wenig herumgespielt und eigentlich sollte folgender Code als
replacement
funktionieren ... (nur wird bei mir gerade überhaupt nichts ausgegeben):<?php
$img = $matches[0];
// ImageCache preset name.
$preset = 'thumbnail';
// Split path elements of image source.
$path_elements = explode('/', $matches[3]);
// Get image filename (and remove it from $path_elements).
$filename = array_pop($path_elements);
// Add preset name to $path_elements.
$path_elements[] = $preset;
// Re-add filename to $path_elements.
$path_elements[] = $filename;
// Replace original filename in <img> tag.
$img = strtr($img, $matches[3], implode('/', $path_elements));
// Build result string.
$result = '<a href="'. $matches[3] .'" rel="thickbox" class="thickbox">'. $img .'</a>';
?>
Den Namen des Presets musst Du gegebenenfalls noch anpassen.
Stefan
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Hallo Stefan, danke dir für
am 29.03.2010 - 22:41 Uhr
Hallo Stefan,
danke dir für deine Hilfe. Nein bei mir geht das auch so nicht. Aber so wie ich deinen Code verstanden habe wird das glaube ich auch nicht funktionieren. Imagecache gibt ja zwei Bilder wieder. Einmal ein Thumbnail Bild und die große Ausgabe davon. Alle beide sind ja irgendwo auf den Server abgespeichert. Heisst man müssten den Code so schreiben, dass er das große Bild im Text nur kleiner macht vielleicht mit einer IMG Style Angabe und dann per Klick Thickbox öffnet. Sonst müssten wir ja beim REL Wert den Speicherort angeben. Da reicht glaube ich Thickbox nicht aus.
Gruß Sascha
Wenn dein Pferd tot ist, steig ab.
imagecache
am 30.03.2010 - 07:17 Uhr
Imagecache gibt ja zwei Bilder wieder. Einmal ein Thumbnail Bild und die große Ausgabe davon.
Nein.
Imagecache erzeugt (basierend auf dem gerade verwendeten Preset) exakt eine Kopie des Originals. Diese Kopie wird dann verkleinert, gedreht, wasauchimmer.
Da der Link auf das originale Bild verweist, wird dieses dann auch in einer Thickbox geöffnet. Angezeigt wird das Bild im <img> Tag (genau das, das durch ImageCache angelegt wurde).
Wobei mir gerade auffällt: wird denn die thickbox.js überhaupt auf der entsprechenden Seite geladen?
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
Ja also im Bereich wird das
am 30.03.2010 - 10:01 Uhr
Ja also im Bereich wird das hiermit ausgegeben:
<script type="text/javascript" src="/modules/thickbox/thickbox.js"></script>
Wenn dein Pferd tot ist, steig ab.