[TYPO3-german] FCE-Bild-Breite nach Seitentemplate bestimmen?
Nicole
shizu__ at hotmail.com
Fri Jul 16 21:08:11 CEST 2010
Mh, ne da hast du mich falsch verstanden.
Ich habe 3 FCEs:
2 Spaltig (mit 2 Inhaltsspalten)
3 Spaltig (mit 3 Inhaltsspalten)
Rahmen (mit 1er Inhaltsspalte)
Dafür habe ich zur Zeit 3 Variablen:
imageWidthfce2
imageWidthfce3
imageWidthframe
Jedoch habe ich verschiedene Seitenlayouts, wo der Seiteninhaltsbereich
verschiedene Breiten hat:
Template (Contentbreite = 500)
Template breit (Contentbreite = 700)
Somit ist die Maximalbreite für Bilder in "2 Spaltig" auf Seiten des
Layouts "Template" eine andere, als für Bilder im FCE "2 Spaltig" die
auf Seiten mit dem Template "Template breit" sind.
Nutze ich für "2 Spaltig" nun die Variabel "imageWidthfce2" muss ich
mich gerade entscheiden, ob ich "250px" oder "350px" angebe - jede
Angabe ist aber für das andere Template unpassend.
Zwei Variabeln für das FCE "2 Spaltig" einzurichten (z.B.
"imageWidthfce2" und "imageWidthfce2breit") und einfach beide anzugeben,
kann ja nicht funktionieren, da immer nur ein Wert genommen wird. Das
FCE muss also irgendwie wissen, in welchem Template es eingefügt wird,
damit es die richtige Variabel auswählen kann.
Wie geht das?
Meine Contents entscheiden sich nur durch die Klassifizierung im HTML:
div#content.slim und div#content.wide und haben beide im TemplaVoilà den
Namen lib.content bekommen.
Beim dritten FCE liegt die Schwierigkeit darin, dass es in 2
verschiedenbreiten Contentspalten zum Einsatz kommt. Kann man
herauslesen in welchem Inhaltsbereich (links, mitte, rechts) es sitzt um
die passende Breite auszulesen?
Danke sehr! :D
Grüße
Nicole
Am 16.07.2010 08:15, schrieb Stefan Frömken:
> Hmmm...versteh ich nicht ganz. Du kannst doch pro FCE und Content jetzt
> eigene Konstanten angelegt so mit imageWidthFCE2. Was hält Dich davon ab
> für jedes Content-Element eine eigene Konstante zu machen?
> $imageWidthC1FCE3 zum Beispiel.
> Oder du musst noch etwas detaillierter werden.
>
> Stefan
>
> Nicole schrieb:
>> Vielen Dank Stefan! Habe nun die Konstante im FCE geändert. Klappt
>> wunderbar!
>>
>> Kannst du mir noch verraten, wie ich beim Eingeben der Bildbreite in
>> den Konstanten des Seitentemplates zwischen einem FCE im Template
>> "normal" und im Template "breit" unterscheide?
>> Je nach Template ist der Content nämlich 200px größer/kleiner...
>>
>> Hab schonmal vielen Dank! :)
>>
>> Grüße
>> Nicole
>>
>> Am 15.07.2010 15:20, schrieb Stefan Frömken:
>>> Ah ne...nicht ganz:
>>>
>>> Template Konstanten und Template Setup sind in Ordnung. Meinetwegen auch
>>> noch die Konstanten im FCE, aber darauf verweist du falsch:
>>>
>>> Es muss heißen:
>>>
>>> 5.maxImageWidth = {$imageWidth}
>>>
>>> Dieses $imageWidth muss das gleiche Wort sein wie das Wort in den
>>> Klammern <> der FCE-Konstanten
>>>
>>> ODER:
>>>
>>> Du änderst die Konstanten im FCE so um:
>>>
>>> <imageWidthfce2>{$_CONSTANTS.imageWidthfce2}</imageWidthfce2>
>>>
>>> Dann dürfte es auch gehen.
>>>
>>> Also...such dir einen dieser Wege aus.
>>>
>>> Stefan
>>>
>>> Nicole schrieb:
>>>> Danke Stefan für den Link. Das ist sehr interessant! Allerdings würde
>>>> ich gerne die Breite für mehrere FCEs definieren (habe nun die Methode
>>>> benutzt, die du mit "Vereinfachte Konfiguration (Teil 2)" tituliert
>>>> hast.
>>>> Habe deshalb versucht statt "imageWidth" "imageWidthfce2" zu benutzen.
>>>> Leider ist das Ergebnis nun breiter als vorher, was es nicht sein
>>>> sollte... ôo
>>>>
>>>> FCE - Typo-Script-Konstanten
>>>> <imageWidth>{$_CONSTANTS.imageWidthfce2}</imageWidth>
>>>>
>>>> FCE - Typo-Script-Code
>>>> #Maximale Breite für Bilder
>>>> 5 = LOAD_REGISTER
>>>> 5.maxImageWidth = {$imageWidthfce2}
>>>> 10= RECORDS
>>>> 10.source.current=1
>>>> 10.tables = tt_content
>>>> 15 = RESTORE_REGISTER
>>>>
>>>> Template - Konstanten
>>>> #Bildbreite in FCE
>>>> imageWidthfce2 = 75px
>>>>
>>>> Template - Setup
>>>> #Maximale Breite für Bidler in FCEs
>>>> _CONSTANTS.imageWidthfce2 = {$imageWidthfce2}
>>>>
>>>> Weißt du, woran das liegt bzw. wie ich denn für verschiedene FCE
>>>> verschiedene Maximalbreiten angeben kann?
>>>>
>>>> Danke dir!
>>>>
>>>> Grüße
>>>> Nicole
>>>>
>>>> Am 14.07.2010 07:47, schrieb Stefan Frömken:
>>>>> Hallo Ralf-René,
>>>>>
>>>>> da fehlt noch ein
>>>>>
>>>>> 5 = LOAD_REGISTER
>>>>>
>>>>> in Deinem Beispielscript.
>>>>>
>>>>> Dieses Beispiel habe ich mal in einer Dokumentation zur
>>>>> Zweispaltigkeit
>>>>> festgehalten:
>>>>> http://typo3.sfroemken.de/typo3-tutorials/extensions/css-styled-content/dynamik.html
>>>>>
>>>>>
>>>>>
>>>>>
>>>>> Stefan
>>>>>
>>>>> Ralf-René Schröder schrieb:
>>>>>> Nicole schrieb:
>>>>>>> Ich versteh hier grad gar nichts.
>>>>>> dann wid's jetzt nicht gerade leichter...
>>>>>>
>>>>>>> Bei dem Template handelt es sich um eine HTML-Datei ich die mit
>>>>>>> TemplaVoilá gemappt habe.
>>>>>> ich gehe mal davon aus dass du für deine beiden Templates
>>>>>> auch zwei unterschiedliche DS(Dateistruktur) hast Im Falle das es nur
>>>>>> ein DS mit zwei TOs ist wird es etwas komplizierter... du suchst im
>>>>>> XML Bereich der DS für deinen Hauptbereich (ich weiß jetzt zwar nicht
>>>>>> wie er bei dir heist, aber ich sag mal einfach field_maincontent)
>>>>>> ________________________
>>>>>> 10= RECORDS
>>>>>> 10.source.current=1
>>>>>> 10.tables = tt_content
>>>>>> ________________________
>>>>>>
>>>>>> und ersetzt es durch
>>>>>> ________________________
>>>>>> 5.maxImageWidth = 600
>>>>>> 10= RECORDS
>>>>>> 10.source.current=1
>>>>>> 10.tables = tt_content
>>>>>> 20 = RESTORE_REGISTER
>>>>>> ________________________
>>>>>> und im anderen dann eben 700
>>>>>>
>>>>>> falls du nur eine DS mit zwei TOs hast, dann kommt das ganze ins
>>>>>> localprocessing des TO
>>>>>> aber mit der gleichen Struktur wie in der DS, alles was nicht
>>>>>> verändert wurde einfach entfernen
>>>>>> so in der Art:
>>>>>> <T3DataStructure>
>>>>>> <ROOT type="array">
>>>>>> <el type="array">
>>>>>> <field_maincontent type="array">
>>>>>> <tx_templavoila type="array">
>>>>>> <TypoScript><![CDATA[ 5.maxImageWidth = 600
>>>>>> 10= RECORDS
>>>>>> 10.source.current=1
>>>>>> 10.tables = tt_content
>>>>>> 20 = RESTORE_REGISTER
>>>>>> ]]></TypoScript>
>>>>>> </tx_templavoila>
>>>>>> </field_maincontent>
>>>>>> </el>
>>>>>> </ROOT> </T3DataStructure>
>>>>>>
>>>>
>>
More information about the TYPO3-german
mailing list