typolink | URL mit GET Parameter der aktuellen Seite

  • 0 x
    76 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 11:41

    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.

    [TS]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>
    }
    }[/TS]

    Es werden alle GET-Parameter erzeugt außer dem Parameter "L", der durch additionalParams angehängt werden soll.


  • 1
  • Silvio_L Silvio_L
    R2-D2
    0 x
    71 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 11:58

    Hallo,

    probier mal folgendes (nicht getestet):

    [TS]typolink{
    parameter = {getIndpEnv:TYPO3_SITE_SCRIPT}&L=1
    parameter.insertData = 1
    wrap = <li> | </li>
    }[/TS]

    Gruß

    Silvio

  • 0 x
    76 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 12:09

    Super damit gehts! Aber warum?

    Ich habe nochmal was anderes probiert und zwar folgendes:
    [TS]typolink{
    parameter.data = page:uid
    additionalParams = &L=1
    wrap = <li> | </li>
    }[/TS]

    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!

  • 0 x
    76 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 12:14

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

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 12:21

    Doku ;)
    http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/7/3/

    also uniqueLinkVars

    http://typo3.org/documentation/document-library/references/doc_core_tsref/4.1.0/view/5/8/

    also addQueryString

  • Silvio_L Silvio_L
    R2-D2
    0 x
    71 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 12:35

    Recht hat er ;) uniqueLinkVars sollte das beheben....

  • 0 x
    76 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 12:39

    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.

    [TS]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>
    }
    }
    [/TS]

    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 ?

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 12:59

    Du musst die TSref schon richtig lesen!

    [TS]config.uniqueLinkVars = 1[/TS]

    und der Link:
    [TS]SPRACHE.10.typolink {
    parameter.data = page:uid
    additionalParams = &L=1
    addQueryString = 1
    }[/TS]

  • 0 x
    76 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 13:21

    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:
    [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>
    }
    }
    [/TS]

    Wenn weitere GET Parameter vorhanden sind, gibt es keine Probleme. Also vielen Dank!!!

  • steffenk steffenk
    Obi-Wan Kenobi
    0 x
    4666 Beiträge
    0 Hilfreiche Beiträge
    01. 08. 2008, 14:16

    dann greift Dein
    config.uniqueLinkVars = 1
    nicht - überprüfe, obs richtig eingebunden ist (also auch auf Rootebene)

  • 1