[TYPO3-german] FCE-Bild-Breite nach Seitentemplate bestimmen?

Stephan Schuler Stephan.Schuler at netlogix.de
Fri Jul 16 22:55:41 CEST 2010


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

Hallo Nicole.


Du könntest das über ein Register lösen.

Geh dazu in die Datastructure des Seitentemplates. Wenn du den Lib-Object-Pfad "lib.content" über die GUI hinterlegt hast wird zunächst woh kein TypoScript-Block angezeigt. Hier solltest du den Lib-Pfad "lib.content" entfernen und stattdessen einen TypoScript-Block mit folgendem Inhalt anlegen:

<TypoScript><![CDATA[
10 = LOAD_REGISTER
10.fceBasedImageWidth = 250
20 < lib.content
30 = RESTORE_REGISTER
]]></TypoScript>

Jetzt solltest du im FCE die Bildbreite über das Register "fceBasedImageWidth" ansprechen und verwenden können.

Wenn du deine unterschiedlichen Seitentemplates mit unterschiedlichen Registerwerten bestückst solltest du den gewünschten Erfolg haben.

Auf die Art sollte es auch möglich sein, in einem grundsätzlich per Seitentemplate schon mehrspaltigen Layout in der einen Spalte eine andere Bildbreite zu erzwingen als in der anderen Spalte.

Ich hab das jetzt nicht getestet, es könnten also durchaus Schreibfehler vorhanden sein.


Grüße,

Stephan Schuler
Web-Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: Stephan.Schuler at netlogix.de
Internet: http://media.netlogix.de

- --
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Andernacher Straße 53 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: mailto:info at netlogix.de | Internet: http://www.netlogix.de/

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt

________________________________________


Von: typo3-german-bounces at lists.typo3.org [typo3-german-bounces at lists.typo3.org] im Auftrag von Nicole [shizu__ at hotmail.com]
Gesendet: Freitag, 16. Juli 2010 21:08
An: typo3-german at lists.typo3.org
Betreff: Re: [TYPO3-german] FCE-Bild-Breite nach Seitentemplate bestimmen?

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

_______________________________________________
TYPO3-german mailing list
TYPO3-german at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


-----BEGIN PGP SIGNATURE-----
Version: PGP Universal 3.0.0 (Build 2881)
Charset: Windows-1252

wpUDBQFMQMdPpp0IwsibV8MBCLN/A/0arVKEeb4lWQAMoTYTUMyW2z1lASOz+seO
QRsr1nka4ej3hWGYSHt9ItxKD5ujtXQnC5oANGPFrvMT0C9jz1hN80fsgmDRZsR5
XBYfsmqhd7F8lLKMO7U52Xdi6QQYtgbA5d5aS78RGSNHqHvPYNSQOH1e0ktIbNQs
GZib1vCrAA==
=DfXB
-----END PGP SIGNATURE-----


More information about the TYPO3-german mailing list