Hallo,
ich möchte css_style_content so modifizieren, das wenn ein bestimmter Wert im BE ausgeählt ist, der img-Tag entsprechend modifiziert wird.
Konkret:
Wenn ich im Backend unter Effekte die Option "Graustufen" auswähle, dann soll die Erzeugung des img-Tags verändert werden. Dieser soll so aussehen:
<img src="2_c8c431f052.jpg" width="250" height="300" class="fade chg_fade" style="background-image:url(2_b0d5f3593e.jpg);" alt="test" title="test" />
Extra hinzukommen sollen die Attribute "class" und "style". Das ganze hat den Hintergrund, dass durch die zusätzlichen Attribute ein Script greift, welches ein hover-Effekt erzeugt und das Graustufenbild weich ausblendet und das farbige somit erscheint. Das ganze hat in der "chgallery" prima mit folgend TS funktioniert:
plugin.tx_chgallery_pi1.gallery.image {
file.minW = 250
file.params = -colorspace GRAY
params.cObject = COA
params.cObject {
10 = TEXT
10.value = class="fade chg_fade"
20 = COA
20 {
10 = TEXT
10.wrap = style="background-image:url(
20 = IMG_RESOURCE
20.file.import.data = TSFE:lastImageInfo|origFile
20.file.minW = 250
20.file.params = -colorspace RGB
25 = TEXT
25.wrap = );
50 = TEXT
50.wrap = "
}
}
}
So, nun mein Problem:
Wie baue ich in css_style_content eine Weiche ein, das wenn unter Effekte "Graustufen" gewählt worden ist, die Ausgabe des img-Tags mit den Attributen "class" und "style" (wie oben genannt) gerendert wird?
Muss ich hier mit "if", "override" oder beidem Arbeiten?
Bin hier dankbar für jede hilfe. Ein evtl. Code-Schnippsel wäre hierzu prima. :o
Hallo,
dazu würd ich mir mal den TS code von css_styled_content genau anschauen und vermutlich musst du da mit dem CASE oder einem if an der richtigen Stelle ansetzen.
magst du mir sagen was du bei chgallery damit machst? mouseover auf bunt?
Georg
Ich setzte diesen Effekt um:
Beschreibung: http://jqueryfordesigners.com/image-cross-fade-transition/ <- hier die Überschrift "Single Image Technique"
Beispiel:http://jqueryfordesigners.com/demo/fade-method2.html
Hierzu brauche ich eine img-Tag mit einer spez. Class zum Aufruf und ein style-Attribut für das zweite Bild. Somit habe ich im FE zuerst ein Graustufenbild, das mit dem Maushover über dem Bild farbig wird.
Und das ganze wollte ich halt auch in css_style_content umsetzten. Hier habe ich auch schon im TS-Code nachgeschaut und probiert, nur bisher leider ohne Erfolg.
Danke für den Hinweise mit "CASE", hier habe ich noch nichts probiert.
Alternativ könntest Du auch ne eigene Extension schreiben die per XCLASS die Klasse "tslib_cObj" mit der Methode "cImage($file,$conf)" überschreibt. Dort kannst Du sehr gute den Image Tag Aufbau manipulieren.
Gruß
Michael
So klappt es, dass wenn unter Effekt "Graustufen" (und zwar nur dieser) gewählt ist, das img-Tag-Rendering so beeinflusst wird, wie ich es möchte:
tt_content.image.20.1 {
params.cObject = CASE
params.cObject {
if.value = 10
if.equals.field = image_effects
default = COA
default {
10 = TEXT
10.value = class="fade chg_fade"
20 = COA
20 {
10 = TEXT
10.wrap = style="background-image:url(
20 = IMG_RESOURCE
20.file.import.data = TSFE:lastImageInfo|origFile
20.file.width.field = imagewidth
20.file.params = -colorspace RGB
25 = TEXT
25.wrap = );
50 = TEXT
50.wrap = "
}
}
}
}
Das einzige, was ich jetzt noch nicht ganz verstehe ist, wie die Breite/Höhe im FE berechnet wird, wenn unter "Position" (die Ausrichtung der Bilder und Anzahl der Spalten) und unter "Bildmaße" Einstellungen vorgenommen werden.
Die Ausgabe klappt z. B. nur korrekt, wenn unter "Breite" ein Wert eingetragen wird. Bleibt das Feld leer, so ist die Breite des Bildes über "src" nicht gleich der Breite des Bildes über "style=background..". Trage ich dann unter "Höhe" einen Wert ein, dann sind die Breiten im FE auch unterschiedlich.
Unter Text mBild mit einer Spaltenanzahl >= 2 und einer Position z. B. "im Text rechts" werden die Breiten der Bilder(src und style) auch nicht korrekt berechnet.
Kann mir hier jemand sagen, wie ich unter
tt_content.image.20.1.params.cObject.default.20.20.file.width.field = imagewidth
die Berechnung der Bildbreite im FE "reinbekomme"?
Denn anscheinend wird der Wert des Feldes "imagewidth" ja noch irgendwelchen Berechungen zugeführt, wenn diverse Bedingungen erfüllt sind - z.B. Spaltenanhahl und Position.
Danke just2b für den Tipp mit "CASE"
Hi,
bin gerade dabei zu versuchen das umzusetzen.
JS ist eingebunden, TS ebenfalls.
Sehe jetzt auch html technisch die beiden Bilder, aber das Problem ist, das beide in Graustufen sind...
Vielleicht einen Tip?
gruss und frohe Weihnachten!
jo
Hier...
20 = COA
20 {
10 = TEXT
10.wrap = style="background-image:url(
20 = IMG_RESOURCE
20.file.import.data = TSFE:lastImageInfo|origFile
20.file.minW = 250
20.file.params = -colorspace RGB
25 = TEXT
25.wrap = );
50 = TEXT
50.wrap = "
}
wird das farbige Bild, als css backtground-image, geladen.
Hast Du das vielleicht vergessen?