Alternative zu Thickbox? "Title" Attribut

Hier findest du alle Fragen zu besonderen Anpassungen an den Templates oder Wordpress selber

Moderatoren: maennchen1.de, wpShopGermany Moderator

MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Alternative zu Thickbox? "Title" Attribut

Beitrag 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:

Code: Alles auswählen

title="'.basename($f, ".jpg").'"
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
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
Joe
Beiträge: 289
Registriert: 31.07.2010, 09:50
Lizenz: wpShopGermany Enterprise

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag von Joe »

wenn Deine Dateiendung immer aus 4 Zeichen besteht (.jpg) kannst Du beispielsweise mit

Code: Alles auswählen

title="'.substr($f, 0, -4).'"
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.

Code: Alles auswählen

title="'.substr($f, 0, strrpos($f,".")-1).'"
bzgl. Alternativen habe ich noch nicht geschaut. Melde mich dann wieder..

Gruß Joe
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag von MKJ »

Joe hat geschrieben:wenn Deine Dateiendung immer aus 4 Zeichen besteht (.jpg) kannst Du beispielsweise mit

Code: Alles auswählen

title="'.substr($f, 0, -4).'"
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.

Code: Alles auswählen

title="'.substr($f, 0, strrpos($f,".")-1).'"
Das ist perfekt, Joe, vielen Dank! :smt038 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
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
Joe
Beiträge: 289
Registriert: 31.07.2010, 09:50
Lizenz: wpShopGermany Enterprise

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
Joe
Beiträge: 289
Registriert: 31.07.2010, 09:50
Lizenz: wpShopGermany Enterprise

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag von Joe »

oops,

Code: Alles auswählen

title="'.strtr($f, $trans).'"
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
Joe
Beiträge: 289
Registriert: 31.07.2010, 09:50
Lizenz: wpShopGermany Enterprise

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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:

Code: Alles auswählen

$produkt['name'];
Gruß Joe
Benutzeravatar
daschmi
m1.Mitarbeiter
Beiträge: 2595
Registriert: 04.12.2007, 17:23
Lizenz: keine
Kontaktdaten:

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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
Joe
Beiträge: 289
Registriert: 31.07.2010, 09:50
Lizenz: wpShopGermany Enterprise

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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:

Code: Alles auswählen

$produkt['name'];
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

Code: Alles auswählen

title="'.$title.'"
Könntest Du hier mal Deine Datei hochladen, damit ich mir das anschauen kann?

Danke und Gruß, Mike
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
Joe
Beiträge: 289
Registriert: 31.07.2010, 09:50
Lizenz: wpShopGermany Enterprise

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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
Joe
Beiträge: 289
Registriert: 31.07.2010, 09:50
Lizenz: wpShopGermany Enterprise

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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!
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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? :smt017

Gruß, Mike
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
Benutzeravatar
daschmi
m1.Mitarbeiter
Beiträge: 2595
Registriert: 04.12.2007, 17:23
Lizenz: keine
Kontaktdaten:

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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
MKJ
Beiträge: 3073
Registriert: 25.08.2010, 16:11

Re: Alternative zu Thickbox? "Title" Attribut

Beitrag 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
Tipps und Tricks rund um wpShopGermany: www.my-blog-shop.de
Antworten