Zum Inhalt springen

GlobalVar in Url integrieren

Erstellt am 24. Oktober 2011 · 7 Antworten · letzte Antwort am 25. Oktober 2011

Tags: Links, Frage

freakkiller ·

Hallo!

Ich hab auf meiner Seite via TS HTML-Blöcke mit '<a href="#" ...' -Links integriert und möchte nun in den href eine GlobalVar integrieren. Wie mache ich das?

Beispiel:

tmp.logo = TEXT
tmp.logo.value (
  <a href="#">
  <img src="fileadmin/templates/images/logo.png" alt="Logo" title="Logo" />
  </a>
)
lib.logo < tmp.logo

Wenn ich auf einer alternativen Ansicht bin und nun auf das Logo klicke, wird mir die Seite neu in der Standardansicht geladen. Wenn ich hier nun &T=... anhängen könnte, erfolgt der Aufruf in der richtigen Ansicht.

Selbiges gilt auch für den Submit-Button der Search-Box. Nur würde ich hier den Parameter 'T' als Hidden-Field übertragen und in den Value den entsprechenden Wert eintragen.

Die Lösung bei beiden Problemstellungen ist wahrscheinlich ganz trivial, aber ich komm einfach nicht drauf.

Julian.​Hofmann ·

Hallo.

Du willst das Logo verlinken? Dann ist die typolink-Eigenschaft, was Du suchst:

tmp.logo = TEXT
tmp.logo.value (
  <img src="fileadmin/templates/images/logo.png" alt="Logo" title="Logo" />
)
tmp.logo.typolink.parameter.data = TSFE:id
tmp.logo.typolink.additionalParams = &T=...

Viele Grüße
Julian

freakkiller ·

Hallo,

herzlichen Dank vorerst. Das hilft mir nun jedoch nur bedingt weiter. Das hätte ich auch hardcodiert in den href eintragen können. Was mich mehr interessieren würde, ist, wie ich den aktuellen Inhalt der GlobalVar hinter das '='-Zeichen bekomme (Konkret geht es hier um einen TypoScript-gesteuerte Stylesheet-Umschalter, der im Großen und Ganzen schon ordnungsgemäß läuft, jedoch bei den oben erwähnten Bereichen noch fehlerhaft ist [da der Value für den Parameter fehlt]).

Chrissli ·

Hallo freakkiller,

ich weiß leider auch nicht, ob/wie sich mit TS
ein GET-Parameter verarbeiten lässt, aber wenn es nur darum
gehen sollte den &T parameter weiter zu geben falls dieser gesetzt ist,
könntest du mit einer condition arbeiten:

tmp.logo = TEXT
tmp.logo {
  value = "#"
  wrap = <a href="#"><img src="fileadmin/templates/images/logo.png" alt="Logo" title="Logo" /></a>
}
[globalVars = T=1]
  tmp.logo.value = "#&T=1"
[global]

Könnte auch sein, dass du getVars brauchs, das gibt es glaube ich auch.

Ansonsten viel Glück ;-)

Julian.​Hofmann ·

Via Condition ist zwar ein Weg, aber meines Erachtens eher ein Trampelpfad, der nicht wirklich schön zu Gehen ist... 😉

Mit typolink und den additionalParams stehen Dir die stdWrap-Eigenschaften zur Verfügung. Damit kannst Du u.a. auf die Eigenschaft "data" zugreifen. Diese ist vom Typ getText und ermöglicht Dir damit den Zugriff auf GET/POST-Variablen. getText lässt Dich über "GP:parametername" (bzw. in älteren TYPO3s "GPvar:parametername") den Wert verwenden. Dann fehlt Dir nur noch ein wrap, um das "&T=" voranzustellen.

freakkiller ·

Hallo!

Herzlichen Dank an alle, die sich die Mühe gemacht haben, mir einen Lösungsweg zu zeigen. Hab die Probleme mittlerweile in den Griff bekommen. Folgendermassen hab ich sie gelöst:

1. GlobalVar im Logo-Link (Linkadresse soll dabei auf die Root-Seite zeigen):

tmp.logo = TEXT
tmp.logo.value (
  <img src="fileadmin/templates/images/logo.png" alt="Logo" title="Logo" />
)
[globalVar = GP:T=1,GP:T=3]
tmp.logo.value (
  <img src="fileadmin/templates/images/logo-schwarz.png" alt="Logo" title="Logo" />
)
[end]
tmp.logo.typolink {
  parameter = 2
  additionalParams = &T={GPvar:T}
  additionalParams.insertData = 1
}
lib.logo < tmp.logo

2. GlobalVar als Value in einem Hidden-Field einer HTML-Form:

tmp.suchbox = TEXT
tmp.suchbox.value (   
 
<form action="suche.html" method="post" name="searchform" id="searchform" style="margin:0px; padding:0px; ">
  <div>
    ...
    <input type="hidden" name="T" value="{GPvar:T}" />
  </div>
</form>
)
#Aktivieren der GlobalVar:
tmp.suchbox.insertData = 1
lib.field_suche < tmp.suchbox

Herzlichen Dank an Julian.Hofmann und an rpflamm aus dem webdesign-forum.net.

Beste Grüße,

Julian.​Hofmann ·

Bitte gerne.

Ich weise aber nochmal drauf hin 'GPvar: usage of "GPvar" is deprecated. Use
"GP" instead'. Im Moment ist das noch nicht problematisch, aber vielleicht beim nächsten Upgrade....