Seite 1 von 2
Alternative zu Thickbox? "Title" Attribut
Verfasst: 01.10.2010, 19:18
von MKJ
Die Anzeige der Produktbilder ist ok, aber das geht heute ja eigentlich schöner. Außerdem wird Thickbox wohl nicht mehr weiter entwickelt. Hat es jemand geschafft, eine Alternative zu installieren? Ich habe mehrere Varianten mit Lightbox2, Slimbox etc ausprobiert. Obwohl ich keinen Fehler finden konnte und alle Bibliotheken richtig eingebunden schien, lief nichts davon. War jemand erfolgreicher?
In der Klasse für die Produktbeschreibungen werden die Title und Alt Attribute standardmäßig mit "Bild" gesetzt. Eine Bildunterschrift "Bild" wirkt aber irgendwie komisch. Ich habe mit meinen dürftigen Kenntnissen auf die Schnelle diese Lösung implementiert:
Das gibt den Dateinamen ohne die Endung jpg aus. Ganz ok für mich, aber besser wäre, wenn alles nach dem Punkt gelöscht würde. Könntet Ihr hier vielleicht eine Lösung posten. Das dürfte ja keine große Sache sein. Ich bin bei der Syntax aber zu unsicher.
Gruß, Mike
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 22.10.2010, 14:19
von Joe
wenn Deine Dateiendung immer aus 4 Zeichen besteht (.jpg) kannst Du beispielsweise mit
die letzten 4 Zeichen abschneiden lassen.
siehe:
http://php.net/manual/de/function.substr.php
wenn Du es allgemeiner formulieren wolltest, könntest Du auch statt der -4 das letze Vorkommen des Punktes -1 verwenden.
bzgl. Alternativen habe ich noch nicht geschaut. Melde mich dann wieder..
Gruß Joe
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 22.10.2010, 16:43
von MKJ
Joe hat geschrieben:wenn Deine Dateiendung immer aus 4 Zeichen besteht (.jpg) kannst Du beispielsweise mit
die letzten 4 Zeichen abschneiden lassen.
siehe:
http://php.net/manual/de/function.substr.php
wenn Du es allgemeiner formulieren wolltest, könntest Du auch statt der -4 das letze Vorkommen des Punktes -1 verwenden.
Das ist perfekt, Joe, vielen Dank!

Alles weg nach dem Punkt ist genau das, was ich wollte. In die Richtung hatte ich es versucht, war aber mit der PHP Syntax noch ziemlich unsicher.
Für die anderen:
mod_produktbilder.class.php, etwa bei Zeile 75 statt
title="Bild" und
alt="Bild" den Code oben einsetzen. Ergebnis: in der Box wird als Bildunterschrift jetzt der Dateiname eineblendet, was besser ist, finde ich. Bei Lösung 2 muss man halt darauf achten, keine Punkte im Dateinamen zu haben. Lösung 1 haut aber für die meisten Grafikformate auch hin. Am Ende braucht man ja nicht mehr als jpg, gif und png. Beim Update darauf achten, dass diese Datei überschrieben wird. Also entweder nach dem Update editieren, oder diese Datei beim Update nicht überschreiben.
Gruß, Mike
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 23.10.2010, 09:58
von Joe
gerne doch

habe gerade sogar noch eine schönere php funktion entdeckt...
in dem Array $trans kann man Ersetzungspaare definieren.
in dem Beispiel unten wird der
Unterstrich durch ein Leerzeichen ersetzt, .jpg, .png und .gif durch einen leeren String.
Code: Alles auswählen
<?php
$trans = array("_" => " ", ".jpg" => "", ".png" => "", ".gif" => "");
title="'.strtr($f, $trans).'"
?>
(sollte funktionieren, habs noch nicht getestet...)
http://www.php.net/manual/de/function.strtr.php
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 23.10.2010, 11:34
von MKJ
Joe hat geschrieben:gerne doch

habe gerade sogar noch eine schönere php funktion entdeckt...
in dem Array $trans kann man Ersetzungspaare definieren.
in dem Beispiel unten wird der
Unterstrich durch ein Leerzeichen ersetzt, .jpg, .png und .gif durch einen leeren String.
Code: Alles auswählen
<?php
$trans = array("_" => " ", ".jpg" => "", ".png" => "", ".gif" => "");
title="'.strtr($f, $trans).'"
?>
(sollte funktionieren, habs noch nicht getestet...)
http://www.php.net/manual/de/function.strtr.php
Super Idee! Leider funktioniert das bei mir nicht. Es gibt aber auch keinen Syntax Error. Das Title Attribut bleibt einfach leer.
Gruß, Mike
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 24.10.2010, 19:24
von Joe
oops,
ist natürlich kein gültiger php code...
also so wie folgend und dann $titel an der richtigen Stelle einbinden..
Code: Alles auswählen
<?php
$trans = array("_" => " ", ".jpg" => "", ".png" => "", ".gif" => "");
$titel=strtr($f, $trans);
?>
gerade mal getestet. bei mir gehts.
Gruß Joe
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 24.10.2010, 21:11
von Joe
So, ich bin der Sache gerade mal auf den Grund gegangen...
das Problem ist, dass der Platzhalter
###bild### in den Templates durch ein in der
/mods/mod_produktbilder.class.php gecodeten String ersetzt wird,
###bild_1### etc. jedoch durch den Text in der
/views/mods/mod_produktbilder/produktbild.phtml bzw.
/user_views/mods/mod_produktbilder/produktbild.phtml.

@admins: ist das Absicht (also ersteres)
also am besten die
/mods/mod_produktbilder.class.php in Ruhe lassen und nur im Template (über den Adminbereich)
###bild### durch
###bild_1### ersetzen.
Denn in der
/views/mods/mod_produktbilder/produktbild.phtml steht für den Bildtitel ja schon der Name des Produkts:
Gruß Joe
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 24.10.2010, 21:30
von daschmi
Hi,
Also ###Bild### soll die Thickbox mit dem ersten Bild anzeigen. Die anderen sind dann versteckt und können über die Thickbox angezeigt werden. Das war die Ursprungsversion.
Der Platzhalter ###Bild_1### usw. wurde später eingeführt um spezielle Bilder anzuzeigen.
Hier:
http://wpshopgermany.maennchen1.de/2010 ... uktbilder/ gibts auch noch Infos dazu.
Viele Grüße
Daschmi
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 25.10.2010, 08:26
von Joe
Allerdings greift bei ###bild### nicht die /views/mods/mod_produktbilder/produktbild.phtml und der Titel ist fest auf "Bild" gesetzt.
Das ist in dem Artikel nicht vermerkt und hat mich irritiert.
Gruß Joe
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 25.10.2010, 09:11
von MKJ
Joe hat geschrieben:
also am besten die
/mods/mod_produktbilder.class.php in Ruhe lassen und nur im Template (über den Adminbereich)
###bild### durch
###bild_1### ersetzen.
Denn in der
/views/mods/mod_produktbilder/produktbild.phtml steht für den Bildtitel ja schon der Name des Produkts:
Gruß Joe
Hallo Joe,
dann wird aber immer nur der Name des Produktes ausgegeben, was bei unterschiedlichen Bildern nicht unbedingt optimal ist und auch für die Google Bildersuche Nachteile haben kann. Bei mir funzt der Code nicht, was an mir liegen muss, wenn es bei Dir geht. Also nochmals für die Langsamen wie mich: Ich habe im Kopf der mod_produktbilder.class.php eingefügt:
Code: Alles auswählen
<?php
$trans = array("_" => " ", ".jpg" => "", ".png" => "", ".gif" => "");
$title=strtr($f, $trans);
?>
Und rufe dann das Attribut auf mit
Könntest Du hier mal Deine Datei hochladen, damit ich mir das anschauen kann?
Danke und Gruß, Mike
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 25.10.2010, 09:42
von Joe
auch hier würde ich lieber die Finger von der
/mods/mod_produktbilder.class.php lassen.
so sieht meine
/user_views/mods/mod_produktbilder/produktbild.phtml aus (habe den Bildnamen noch mit eingebaut):
Code: Alles auswählen
<?php
$trans = array("_" => " ", ".jpg" => "", ".png" => "", ".gif" => "");
$titel=strtr($f, $trans);
?>
<a href="<?php echo $url_orginal; ?>" class="thickbox" rel="gallery-<?php echo $produkt['id']; ?>" title="<?php echo $produkt['name'] .' - '. $titel; ?>"><img src="<?php echo $url_tn; ?>" alt="<?php echo $produkt['name'] .' - '. $titel; ?>"/></a>
Jetzt wird (bei Verwendung von ###bild_1### im Template) erst der Produktname und hintendran der Bildname als Titel verwendet. Z.B. bei dem Produkt "Gummibärchen" mit den Bildern "von_vorne.jpg" und "von_links.jpg" wird "Gummibärchen - von vorne" und "Gummibärchen - von links" als Titel verwendet. ggf. kannst du $produkt['name'] ja rausschmeißen, wenn Du nur den Bildnamen willst.
Gruß Joe
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 25.10.2010, 09:46
von Joe
MKJ hat geschrieben:Also nochmals für die Langsamen wie mich: Ich habe im Kopf der mod_produktbilder.class.php eingefügt...
Da die Variable $f verwendet wird, müsste das innerhalb der
foreach ($arFiles as $f) { Schleife (und nicht im Kopf) stehen.
Aber mach es lieber wie in meinem vorherigen Beitrag beschrieben!
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 25.10.2010, 10:25
von MKJ
Joe hat geschrieben:auch hier würde ich lieber die Finger von der
/mods/mod_produktbilder.class.php lassen.
Jetzt wird (bei Verwendung von ###bild_1### im Template) erst der Produktname und hintendran der Bildname als Titel verwendet. Z.B. bei dem Produkt "Gummibärchen" mit den Bildern "von_vorne.jpg" und "von_links.jpg" wird "Gummibärchen - von vorne" und "Gummibärchen - von links" als Titel verwendet. ggf. kannst du $produkt['name'] ja rausschmeißen, wenn Du nur den Bildnamen willst.
OK, das leuchtet mir ein. Sieht nach einer guten Lösung aus. Jetzt habe ich allerdings ein etwas wirres Problem. Wenn ich versuche, das Template zu ändern, bekomme ich eine fette Fehlermeldung:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'function') {
switchVari(###p_id###, ###var_id###);
Mit ###bild_1### geht es nicht und auch nicht mit ###BILD_1### wie in der Update-Doku beschrieben. Was kapiere ich denn hier nicht?
Gruß, Mike
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 25.10.2010, 15:20
von daschmi
Hi,
Der Fehler den du andeutest wird glaub ich durch das ' im Code verursacht. wie ist deine Magick_quotes Einstellung?
Versuch eventuell statt ' ein \' im Template zu verwenden.
LG
Daschmi
Re: Alternative zu Thickbox? "Title" Attribut
Verfasst: 25.10.2010, 16:27
von MKJ
daschmi hat geschrieben:Hi,
Der Fehler den du andeutest wird glaub ich durch das ' im Code verursacht. wie ist deine Magick_quotes Einstellung?
Versuch eventuell statt ' ein \' im Template zu verwenden.
Meine magic_quotes Einstellungen sind:
magic_quotes_gpc On
magic_quotes_runtime Off
magic_quotes_sybase Off
Mit
\' geht es, allerdings hatte ich diesen Fehler vorher nicht, obwohl ich da auch schon etwas am Template geändert hatte. Sollte man magic_quotes of off stellen?
Danke und Gruß, Mike