Na, das nenne ich mal eine umfangreiche Antwort. Respekt und Hut ab! :) Cheers, Matthew
Am 17.08.2017 um 19:26 schrieb Dr. Dieter Porth: > 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@lists.typo3.org >> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german > _______________________________________________ TYPO3-german mailing list TYPO3-german@lists.typo3.org http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german