[TYPO3-german] T3 6.1 | Bildzuschnitt und Bildgröße
Marco Brüggemann
marco at schauart.de
Fri Nov 22 15:33:26 CET 2013
Am 18.11.2013 10:26, schrieb bernd wilke:
> Am 15.11.13 20:19, schrieb Marco Brüggemann:
>> Am 15.11.2013 13:10, schrieb bernd wilke:
>>> Am 15.11.13 12:47, schrieb Marco Brüggemann:
>>>> Guten Tag,
>>>>
>>>> Für meine Inhaltselemente mit Bildern möchte ich die Breite der
>>>> Vorschaubilder auf die jeweilige Beite des Contentelemens beschränken.
>>>>
>>>> Dazu habe ich in den TS-Konstanten zuerst die Breiten der
>>>> Contentelemente definiert:
>>>>
>>>> #-----------------------------------------------------------
>>> [...]
>>>> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
>>>> Ich würde auch gerne den Zuschnitt der Bilder so für jeden
>>>> Contentbereich beeinflussen. geht das?
>>>> Ich benutze dafür zur zeit das:
>>>>
>>>> tt_content.image.20.1.maxH >
>>>> tt_content.image.20.1.maxW >
>>>> tt_content.image.20.1.file.width >
>>>> tt_content.image.20.1.file.height >
>>>> tt_content.image.20.equalH >
>>>> tt_content.image.20.equalW >
>>>> tt_content.image.20.1.maxH = 525
>>>> tt_content.image.20.1.maxW = 150
>>>> tt_content.image.20.1.file.width = 525c-0
>>>> tt_content.image.20.1.file.height = 150c-0
>>>>
>>>> kann ich das auch in Abhähngigkeit von
>>>> "Datenbank/tt_content/section_frame" in unterschiedliche Breiten
>>>> schneiden?
>>>
>>> da gäbe es mehrere Möglichkeiten:
>>> 1. explizit ausrechnen
>>> ...maxW.cObject = TEXT
>>> ...maxW.cObject {
>>> prioriCalc = 1
>>> value = ({frame_section}-29)*120
>>> insertData = 1
>>> }
>>>
>>> 2. CASE
>>> ...maxW.cObject = CASE
>>> ...maxW.cObject {
>>> key.field = frame_section
>>>
>>> 30 = TEXT
>>> 30.value = 120
>>>
>>> :
>>>
>>> 35 = TEXT
>>> 35.value = 920
>>> }
>>>
>>> 3. das gleiche nur komplizierter abgefragt:
>>> ...maxW.cObject = COA
>>> ...maxW.cObject {
>>>
>>> 10 = TEXT
>>> 10.value = 120
>>> 10.if.equals.field = frame_section
>>> 10.if.value = 30
>>>
>>> :
>>>
>>> }
>>>
>>> evtl. wäre es auch sinnvoll solche Werte erstmal in den Constants oder
>>> Registerwerten abzulegen statt sie an mehreren Stellen jeweils
>>> ausrechnen zu lassen
>>>
>>> bernd
>>
>> Hallo Bernd .. vielen Dank für Deine hilfe ... leider klappt es aber
>> noch nicht: ($grid1.srg ist als Kontante mit 120 hinterlegt)
>>
>> Dieses hier ergibt eine Ausgabe, jedoch sind die Bilder alle zu 100%
>> Groß:
>> tt_content.image.20.1.file.width = TEXT
>> tt_content.image.20.1.file.width {
>> prioriCalc = 1
>> value = ({frame_section}-29)*{$grid1.srg}
>> insertData = 1
>> wrap = |c-0
>> }
>> tt_content.image.20.1.file.height = TEXT
>> tt_content.image.20.1.file.height {
>> prioriCalc = 1
>> value = ({frame_section}-29)*{$grid1.srg}
>> insertData = 1
>> wrap = |c-0
>> }
>>
>> mache ich ein "tt_content.image.20.1.file.width.cObject" daraus, wird
>> gar nichts mehr ausgegeben.
>>
>> Was für ein Wert jetzt wirklich in tt_content.image.20.1.file.height
>> steht, kann ich leider auch nicht überprüfen - eigentlich sollte dort
>> bei frame_section=30 (30-29)*120= 120 ---> gewrapt ---> 120c-0 stehen,
>> da aber das Bild immer 100% groß ist, denke ich mal, dass das nicht so
>> errechnet und zusammengebaut wird.
>>
>> Kann man den Wert gezielt mit so etwas ähnlichem wie "var_dump"
>> auswerfen?
>
>
> du kannst natürlich den Wert als Kopie ausgeben, bzw als kopie in
> .height reinschreiben.
>
>
> temp.hoehe = TEXT
> temp.hoehe {
> prioriCalc = 1
> value =
> :
> }
>
> //benutzen
> tt_content.image.20.1.file.width < temp.hoehe
>
> // debug ausgabe:
> page.99 < temp.hoehe
>
>
> du kannst natürlich auch das admin-panel benutzen um zu überprüfen was
> überhaupt an typoscript auf der Seite im FE aktiv ist.
>
> bernd
Hallo Bernd,
vielen Dank noch einmal für deine Antwort.
Dieses Verfahren, so wie Du es vorschlägst, funktioniert irgendwie nicht.
Als errechneter Wert kommt -4641 heraus und das Bild wird in
Originalgröße angezeigt.
Daher meine Frage:
Kann es sein, dass es zwei verschiedene Bereiche sind, die "nicht
miteinander können"?
Einerseit die allgemeinen Bildeinstellungs-Konstanten (wie zum Beispiel):
tt_content.image.20.1.file.width = 300c
tt_content.image.20.1.file.height = 150c-50
und andererseits spezifische Bildgestaltungsmittel des jeweiligen
Kontentelements?
tt_content.stdWrap {
innerWrap.cObject = CASE
innerWrap.cObject {
30 =< tt_content.stdWrap.innerWrap.cObject.default
30.20.10.value = {field:CType} grid1 layout-{field:layout}
imgori-{field:imageorient}
30.20.10.insertData = 1
}
}
ich möchte ja in Abhängigkeit von dem Wert in [tt_content ->
section_frame], und diese Wert ist ja von Beitrag zu Beittrag ev.
unterschiedlich, das Bild zuschneiden:
tt_content.image.20.1.file.width = [{section_frame} und der daraus
resultierende Wert der Bildbreite]["c" noch ranhängen]
schreibe ich das so:
temp.hoehe = TEXT
temp.hoehe {
prioriCalc = 1
value =
:
}
dann weis ich nicht, wie ich auf den conten-spezifischen Wert
"section_frame" zugreifen soll. woher soll er auch wissen, dass ich
einen spezifischen Beitrag meine? Daher der ungewünschte errechnete Wert.
temp.hoehe = TEXT
temp.hoehe {
prioriCalc = 1
value = (({frame_section}-29)*{$grid1.srg})+({$spaltenabstand.srg}
* ({frame_section}-29))-1
insertData = 1
}
page.99 < temp.hoehe ---> -4641
Erklärung:
({frame_section}-29) - es gibt 6 relevante, aufeinanderfolgende Werte
für frame_section: 30 oder 31 oder 32, 33, 34, 35
so dass in der Berechnung dann 1 - 6 herauskommt.
{$grid1.srg} - Ist der Wert für die schmalste Spalte - ist 1/6 von
{$grid6.srg
{$spaltenabstand.srg} - ist der Abstand zwischen zwei Spalten
---------------------------------------------------------------------------------------------------------------
Ich glaube ich muss dort anpacken, wo ich definiere: "Wenn
{frame_section = 30 [ oder 31 ...] dann schreibe in das div die Klasse:
grid1"
die mache ich hier:
tt_content.stdWrap {
innerWrap.cObject = CASE
innerWrap.cObject {
30 =< tt_content.stdWrap.innerWrap.cObject.default
30.20.10.value = {field:CType} grid1 layout-{field:layout}
imgori-{field:imageorient}
30.20.10.insertData = 1
[und so weiter]
}
}
dort müste jetzt noch rein:
"Wenn {frame_section = 30 [ oder 31 ...] dann schreibe in das div die
Klasse: grid1 UND Konstanteneinstellung ist:
tt_content.image.20.1.file.width = {$grid1.srg}c"
Wie kann ich das umsetzen?
Danke.
More information about the TYPO3-german
mailing list