Guten Tag zusammen,
bei der Extension Smoothgallery ist es u.a. möglich, die tt_content (Text und Bilder) als Quelle auszuwählen. Die Größe der Bilder kann dann anscheinend nur über die jeweiligen Felder „Breite“ und „Höhe“ im Backend festgelegt werden. Um ein einheitliches Aussehen der Galleriekomponente zu gewährleisten möchte ich diese aber zentral (z.B. durch TS-Konstanten oder TS-Setup) einstellen.
Eine Vorbelegung der beiden Felder per TSconfig-Feld will ich vermeiden, da die Einstellung sich dann ja auch auf alle übrigen „Text und Bilder“-Seiten ohne Smoothgallery auswirkt. Aus demselben Grund kommt auch eine Anpassung von [styles.content.imgtext.maxWInText] nicht in Frage.
Der bisher einzige Ansatz den ich habe ist eine Änderung der setup.txt (siehe unten) – das scheint mir auf Dauer aber ungeeignet, z.B. in Bezug auf Updates. Gibt es eine bessere Lösung?
temp.maxW = TEXT
temp.maxW = 466c
temp.maxW.override.field=imagewidth
temp.maxH = TEXT
temp.maxH = 310c
temp.maxH.override.field=imageheight
TYPO3 Ver. 4.5.3
rgsmoothgallery 1.5.2
Vielen Grüße und Danke für jede Hilfe!
Ja, und zwar nach der allgemeinen Regel:
Nimm nie Änderungen an Extension-Dateien vor, wie hier z.B. an der setup.txt.
Schreibe das statt dessen in ein Extension Template, dann sind auch Updates kein Problem.
Wenn du das in ein Extension-Template packst, das nur für Die Seite mit der Gallery (und Unterseiten) gilt, wirkt es sich auch nur dort aus.
Einfach in der linken Spalte auf Template gehen, die Seite mit der Gallery im Seitenbaum auswählen und dann ein Extension Template anlegen. Da kanst Du alles, was du an der setup.txt ändern willst eintragen. Was du nicht ändern willst, muss nicht rein, du musst also nicht die ganze Konfiguration übernehmen, sondern immer nur deine Modifizierungen.
Danke erstmal für die Antwort! Leider führt das Anlegen eines Extension-Template mit dem o.g. Code im TS-Setup zu keinerlei Auswirkung.
Hat das möglicherweise damit zu tun, dass der Wert von "temp.maxW" bzw. "temp.maxH" in setup.txt einem anderen Array zugewiesen wird? Zum besseren Verständnis nachfolgend ein Ausschnitt aus der setup.txt:
plugin.tx_rgsmoothgallery_pi1 {
[...]
big = IMG_RESOURCE
big {
file.maxW = 460
file.maxH = 345
}
big2 = IMG_RESOURCE
big2 {
file = GIFBUILDER
file {
XY = [10.w],[10.h]
10=IMAGE
10 {
file.maxW=460
file.maxH=345
}
20=TEXT
20 {
text.data = date:Y
text.noTrimWrap = |(c) | by somebody |
align=right
offset=0,[10.h]-45
fontSize=10
fontColor=#ffffff
#niceText=1
}
}
}
[...]
temp.origimg < tt_content.image.20
temp.origpic < tt_content.textpic.20
includeLibs.something2 = EXT:rgsmoothgallery/class.tx_rgsmoothgallery_rgsg.php
temp.maxW = TEXT
temp.maxW.field=imagewidth
temp.maxH = TEXT
temp.maxH.field=imageheight
temp.singleImage = COA
temp.singleImage {
# Large
11 = IMAGE
11 {
file {
import = uploads/pics/
import.current = 1
maxW < temp.maxW
maxH < temp.maxH
}
params = class="full"
}
[...]
#tt_content.image.20 >
tt_content.newimage = COA
tt_content.newimage {
5 = LOAD_REGISTER
5 {
imageblockMaxWidth.cObject = COA
imageblockMaxWidth.cObject {
10 = TEXT
10 {
value = {$styles.content.imgtext.maxW}
if.value = image
if.equals.field = CType
}
20 = COA
20 {
10 = TEXT
10 {
value = {$styles.content.imgtext.maxWInText}
if.isTrue = {$styles.content.imgtext.maxWInText}
}
20 = TEXT
20 {
value = {$styles.content.imgtext.maxW}/2
prioriCalc = intval
if.isFalse = {$styles.content.imgtext.maxWInText}
}
if.value = textpic
if.equals.field = CType
}
}
singleimageWidth1.cObject = TEXT
singleimageWidth1.cObject {
dataWrap = {register:imageblockMaxWidth}/{field:imagecols}-{field:imageborder}*{$styles.content.imgtext.borderThick}*2-{$styles.content.imgtext.colSpace}+{$styles.content.imgtext.colSpace}/{field:imagecols}
}
singleimageWidth.cObject = COA
singleimageWidth.cObject {
10 = TEXT
10.data = register:singleimageWidth1
10.prioriCalc = intval
10.if.value.data = register:singleimageWidth1
10.if.value.prioriCalc = intval
10.if.isLessThan.field = imagewidth
10.if.negate = 1
20 = TEXT
20.field = imagewidth
20.if.value.data = register:singleimageWidth1
20.if.value.prioriCalc = intval
20.if.isLessThan.field = imagewidth
}
imageblockWidth.cObject = TEXT
imageblockWidth.cObject {
dataWrap = ({register:singleimageWidth}+{field:imageborder}*{$styles.content.imgtext.borderThick}*2+{$styles.content.imgtext.colSpace})*{field:imagecols}-{$styles.content.imgtext.colSpace}
}
imageblockWidth.prioriCalc = 1
textblockPadding.cObject = TEXT
textblockPadding.cObject {
dataWrap = {register:imageblockWidth}+{$styles.content.imgtext.textMargin}
}
textblockPadding.prioriCalc = intval
}
10 = CASE
10 {
if.isFalse.field = image_noRows
key.field = imagecols
default = TEXT
default {
field = image
split {
token = ,
cObjNum = 1
1 {
10 = LOAD_REGISTER
10 {
imageLoader.cObject = COA
imageLoader.cObject {
5 = TEXT
5.data = register:imageLoader
10 < temp.singleImage
# 10.10.file.width.data = register:singleimageWidth
# 10.10.file.width.wrap = |m
# 10.20.outerWrap.cObject.25 = TEXT
# 10.20.outerWrap.cObject.25 {
# dataWrap = width:{register:singleimageWidth}px;
# }
}
}
}
}
}
}