[TYPO3-german] DCE Typolink Parameter variabel füllen
Ben Ner
b.goetze at trendsetzer.eu
Fri Aug 18 15:36:55 CEST 2017
Reif fürs Lexikon, vielen dank!!!!
Quote: Dr. Dieter Porth wrote on Thu, 17 August 2017 19:26
----------------------------------------------------
> Hallo Ben
>
> Fluid-Konvertierungsregeln, die man meines Wissens so nicht in der
> Dokumentration findet. Es gibt einen Online-Service, glaube ich, einen
> Service zur Konvertierung von Fluid-Ausdrücken. Aber ich habe den Link
> leider vergessen, wvielleicht kann dazu einer der Mitleser hier helfen.
>
> 0. Regel Tags ohne Inhalt <a></a> konvertiert man zu <a/>
>
> 1. Inhalte werden zu Attributen subject="" (Kann bei Viewhelper
> unterschiedlich sein - Am besten in den Sourcode die Kommentare lesen
>
> 2. aus < >wird {}
>
> 3. Attribute werden in () aufgezählt
>
> 4. a="b" wird zu a:'b'
>
> 5. Regel findet man in ' '-String noch ein ' so ist das zu escapen zu \'
>
>
> Start
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u=<f:format.urlencode><f:cObject
> typoscriptObjectPath="lib.pageUrl">
> </f:cObject>#c429!<f:format.raw>{field.category}</f:format.raw>!<f:format.raw>{contentObject.uid}</f:format.raw>-<f:format.raw>{iterator.cycle}</f:format.raw>-<f:format.raw>{eintrag.content}</f:format.raw></f:format.urlencode>"
> target="_blank">teilen</dce:typolink>
>
> 0. regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u=<f:format.urlencode><f:cObject
> typoscriptObjectPath="lib.pageUrl" />
> #c429!<f:format.raw>{field.category}</f:format.raw>!<f:format.raw>{contentObject.uid}</f:format.raw>-<f:format.raw>{iterator.cycle}</f:format.raw>-<f:format.raw>{eintrag.content}</f:format.raw></f:format.urlencode>"
> target="_blank">teilen</dce:typolink>
>
> 1. Regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u=<f:format.urlencode><f:cObject
> typoscriptObjectPath="lib.pageUrl" /> #c429!<f:format.raw
> subject="{field.category}" />!<f:format.raw
> subject="{contentObject.uid}" /><f:format.raw
> subject="{iterator.cycle}"><f:format.raw
> subject="{eintrag.content}"></f:format.urlencode>"
> target="_blank">teilen</dce:typolink>
>
> 2. Regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u=<f:format.urlencode>{f:cObject
> typoscriptObjectPath="lib.pageUrl" } #c429!{f:format.raw
> subject="{field.category}" }!{f:format.raw subject="{contentObject.uid}"
> ]{f:format.raw subject="{iterator.cycle}"]{f:format.raw
> (subject="{eintrag.content}"}</f:format.urlencode>"
> target="_blank">teilen</dce:typolink>
>
> 3. Regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u=<f:format.urlencode>{f:cObject
> (typoscriptObjectPath="lib.pageUrl" )} #c429!{f:format.raw
> (subject="{field.category}" )}!{f:format.raw (
> subject="{contentObject.uid}") ]{f:format.raw
> (subject="{iterator.cycle}")}{f:format.raw
> (subject="{eintrag.content}")}</f:format.urlencode>"
> target="_blank">teilen</dce:typolink>
>
> 4. Regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u=<f:format.urlencode>{f:cObject(typoscriptObjectPath:'lib.pageUrl'
> )} #c429!{f:format.raw (subject:'{field.category}' )}!{f:format.raw (
> subject:'{contentObject.uid}') ]{f:format.raw
> (subject:'{iterator.cycle}')}{f:format.raw
> (subject:'{eintrag.content}')}</f:format.urlencode>"
> target="_blank">teilen</dce:typolink>
>
> Wenn noch <x:... in <y: enmthalten sind, die regel nochmal
>
> 0. regel
>
> ----
>
> 1. Regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u=<f:format.urlencode
> subject=" {f:cObject(typoscriptObjectPath:'lib.pageUrl' )}
> #c429!{f:format.raw (subject:'{field.category}' )}!{f:format.raw (
> subject:'{contentObject.uid}') ]{f:format.raw
> (subject:'{iterator.cycle}')}{f:format.raw
> (subject:'{eintrag.content}')}" />" target="_blank">teilen</dce:typolink>
>
> 2. Regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u={f:format.urlencode
> subject=" {f:cObject(typoscriptObjectPath:'lib.pageUrl' )}
> #c429!{f:format.raw (subject:'{field.category}' )}!{f:format.raw (
> subject:'{contentObject.uid}') ]{f:format.raw
> (subject:'{iterator.cycle}')}{f:format.raw
> (subject:'{eintrag.content}')}"}" target="_blank">teilen</dce:typolink>
>
> 3. Regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u={f:format.urlencode(
> subject=" {f:cObject(typoscriptObjectPath:'lib.pageUrl' )}
> #c429!{f:format.raw (subject:'{field.category}' )}!{f:format.raw (
> subject:'{contentObject.uid}') ]{f:format.raw
> (subject:'{iterator.cycle}')}{f:format.raw
> (subject:'{eintrag.content}')}")}" target="_blank">teilen</dce:typolink>
>
> 4. Regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u={f:format.urlencode(
> subject:'{f:cObject(typoscriptObjectPath:'lib.pageUrl' )}
> #c429!{f:format.raw (subject:'{field.category}' )}!{f:format.raw (
> subject:'{contentObject.uid}') ]{f:format.raw
> (subject:'{iterator.cycle}')}{f:format.raw
> (subject:'{eintrag.content}')} ')}" target="_blank">teilen</dce:typolink>
>
> 5. Regel
>
> <dce:typolink class="link_to"
> parameter="https://www.facebook.com/sharer/sharer.php?u={f:format.urlencode(
> subject:'{f:cObject(typoscriptObjectPath:\'lib.pageUrl'\ )}
> #c429!{f:format.raw (subject:\'{field.category}\' )}!{f:format.raw (
> subject:\'{contentObject.uid}\') ]{f:format.raw
> (subject:\'{iterator.cycle}\')}{f:format.raw
> (subject:\'{eintrag.content}\')} ')}" target="_blank">teilen</dce:typolink>
>
> So ungefähr könnte dein Kram aussehen, wobei ich nicht weiß, ob subject
> richtig ist.
>
>
> Grundsätzlich gilt, dass du dir
>
> {f:format.raw (subject:\'{iterator.cycle}\')}
>
> genauso anzeigen lassen kannst wie
>
> <f:format.raw>{iterator.cycle}</f:format.raw>
>
>
> Wenn dir das ganze zu unübersichtlich ist, könntest du auch f:alias zur
> Strukturierung verwenden Oft kann man gemäß auch eine Regel 6 anwenden.
> (Gilt z.B. nicht in Conditions vom if-Viewhelper)
>
> Regel 6. Werden reine Objekte als String übergeben, wie in {f:format.raw
> (subject:\'{eintrag.content}\')}, so kann man '{ }' weglassen und
> {f:format.raw (subject:eintrag.content)} schreiben.
>
> <f:alias map="{ myLinkstart:
> 'https://www.facebook.com/sharer/sharer.php?u=',
> paraOne :{f:cObject(typoscriptObjectPath:'lib.pageUrl' )},
> paraTwo: ' #c429!{f:format.raw (subject:field.category )}',
> paraThree:'!{f:format.raw ( subject:contentObject.uid)
> }{f:format.raw (subject:iterator.cycle)}{f:format.raw
> (subject:eintrag.content)}'
> }">
>
> <dce:typolink class="link_to"
> parameter="{myLinkstart}{{f:format.urlencode(
> subject:'{partOne}{partTw}{partThree}')}
>
> </f:alias>
>
>
> Du könntest natürlich auch, was ich früher gerne gemacht habe, dir die
> String per TypoScript zusammenbauen lassen und das Typoscript inklusive
> der Argumente per cObject ausgebene lassen. Man muss nur wissen, was in
> der Dokumentation von TYPO3 leider nicht zu finden ist, dass man über
> 'field' auf die Werte in den Benannten Argumenten zugreifen kann.
>
> Aber TypoScript ist eher doof, weil es schwer zu debuggen ist.
>
> Mit besten Grüßen
>
> Dieter
>
>
>
> Am 17.08.2017 um 09:31 schrieb Ben Ner:
>
> > ich habe ein DCE und dazu ein Template, in dem Template versuche ich
> > via <dce:typolink> einen Link zu erzeugen. Als Parameter wird mir
> > überall immer nur "{link}" genannt der den fertigen String enthält mit
> > der URL. Wie aber kann ich diesen Link innerhalb des DCE Templates
> > zusammen setzen?
> >
> > Mein aktueller Versuch:
> > <dce:typolink class="link_to"
> > parameter="https://www.facebook.com/sharer/sharer.php?u=<f:format.urlencode><f:cObject
> > typoscriptObjectPath="lib.pageUrl">
> > </f:cObject>#c429!<f:format.raw>{field.category}</f:format.raw>!<f:format.raw>{contentObject.uid}</f:format.raw>-<f:format.raw>{iterator.cycle}</f:format.raw>-<f:format.raw>{eintrag.content}</f:format.raw></f:format.urlencode>"
> > target="_blank">teilen</dce:typolink>
> >
> > Hier meckert er mir sofort das innerhalb kein <f: ... > vorkommen
> > darf, kann ich den Rückgabewert von urlencode in einer eigenen
> > Variable speichern und diese dann an typolink übergeben?
> > _______________________________________________
> > TYPO3-german mailing list
> > TYPO3-german (at) lists.typo3.org
> > http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>
> --
> ----
> Dr. Dieter Porth - Web-Entwickler
----------------------------------------------------
More information about the TYPO3-german
mailing list