Hallo,
ich scheitere momentan mal wieder an einer ganz einfachen Sache:
Ich möchte über 2 Links zwischen der deutschen Variante und einer englischen Variante hin und her schalten können.
Dabei müssen auch einige GET-Parameter berücksichtigt werden. Aber irgendwie scheint es nicht zu gehen. Die Angabe über additionalParams wird nicht berücksichtigt.
marks.SPRACHE = COA
marks.SPRACHE.10 = TEXT
marks.SPRACHE.10 {
value = English
typolink{
parameter.data = getIndpEnv:TYPO3_SITE_SCRIPT
additionalParams = &L=0
wrap = <li> | </li>
}
}
marks.SPRACHE.20 = TEXT
marks.SPRACHE.20 {
value=Deutsch
typolink{
parameter.data = getIndpEnv:TYPO3_SITE_SCRIPT
additionalParams = &L=1
wrap = <li> | </li>
}
}
Es werden alle GET-Parameter erzeugt außer dem Parameter "L", der durch additionalParams angehängt werden soll.
Hallo,
probier mal folgendes (nicht getestet):
typolink{
parameter = {getIndpEnv:TYPO3_SITE_SCRIPT}&L=1
parameter.insertData = 1
wrap = <li> | </li>
}
Gruß
Silvio
Super damit gehts! Aber warum?
Ich habe nochmal was anderes probiert und zwar folgendes:
typolink{
parameter.data = page:uid
additionalParams = &L=1
wrap = <li> | </li>
}
Merkwürdigerweise wurden die additionalParams mit page:uid angehängt. Natürlich fehlen dabei die anderen GET Parameter aber warum geht es mit parameter.data = getIndpEnv:TYPO3_SITE_SCRIPT nicht?
Danke schon mal!
@Silvio_L:
Habe gerade bemerkt, dass bei Deiner Methode immer weitere L-Parameter angehängt werden. Ich möchte aber das dieser Parameter nur einmal im URL vorkommt. Das geht doch bestimmt auch irgendwie.
Recht hat er 😉 uniqueLinkVars sollte das beheben....
Danke für die Links! Die typolink-Seite habe ich allerdings schon diverse mal durch und trotzdem nicht viel extrahieren können. Wie man auf den ersten kommen soll ist mir ein Rätsel. Mit fehlen einfach Links in der TSref.
Ich habe das mal angewendet aber es bleibt das gleiche Problem: Im URL ist der Parameter erst einmal, dann zwei mal und dann wieder einmal usw zu sehen.
marks.SPRACHE = COA
marks.SPRACHE.10 = TEXT
marks.SPRACHE.10 {
value = English
typolink{
parameter = {getIndpEnv:TYPO3_SITE_SCRIPT}&L=1
parameter.insertData = 1
uniqueLinkVars = 1
addQueryString = 1
wrap = <li class="subnav"> | </li>
}
}
marks.SPRACHE.20 = TEXT
marks.SPRACHE.20 {
value=Deutsch
typolink{
parameter = {getIndpEnv:TYPO3_SITE_SCRIPT}&L=0
parameter.insertData = 1
uniqueLinkVars = 1
addQueryString = 1
wrap = <li class="subnav"> | </li>
}
}
Ich weiß, dass der letzte Parameter zählt aber es sieht einfach unschön aus.
Warum geht es denn nicht mit parameter.data = getIndpEnv:TYPO3_SITE_SCRIPT
und additionalParams = &L=0 ?
Du musst die TSref schon richtig lesen!
config.uniqueLinkVars = 1
und der Link:
SPRACHE.10.typolink {
parameter.data = page:uid
additionalParams = &L=1
addQueryString = 1
}
Upps das mit config.uniqueLinkVars = 1 stimmt aber Dein anderer Hinweis generiert einen Link der einen URL mit doppeltem ID-Parameter erzeugt:
http://localhost/t3_cms/testsystem/index.php?id=37&L=0&id=37
Hier das TS:
marks.SPRACHE = COA
marks.SPRACHE.10 = TEXT
marks.SPRACHE.10 {
value = English
typolink{
parameter.data = page:uid
additionalParams = &L=1
addQueryString = 1
wrap = <li class="subnav"> |
}
}
marks.SPRACHE.20 = TEXT
marks.SPRACHE.20 {
value=Deutsch
typolink{
parameter.data = page:uid
additionalParams = &L=0
addQueryString = 1
wrap = / | </li>
}
}
Wenn weitere GET Parameter vorhanden sind, gibt es keine Probleme. Also vielen Dank!!!
dann greift Dein
config.uniqueLinkVars = 1
nicht - überprüfe, obs richtig eingebunden ist (also auch auf Rootebene)