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
--
----
Dr. Dieter Porth - Web-Entwickler
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german