Zum Inhalt springen

HTML-Content vs. URL-Param

Erstellt am 11. September 2009 · 2 Antworten · letzte Antwort am 14. September 2009

Tags: Frage

wookie ·

Hallo,

ich habe auf einer Seite ein HTML-Content-Objekt über das BE eingefügt. In Abhängigkeit von einem Parameter, der beim Aufruf der Seite von außen an die URL der Seite angehängt wird, möchte ich dieses HTML-Content-Objekt ändern.

Notwendig sind also:
- Auslesen des URL-Params
- Zuweisen eines entsprechenden Wertes an das HTML-Content-Objekt

Geht so etwas mit TypoScript?
Wenn ja, wie?

Danke!

Grüße
Dirk

karlchen ·

die Infos sind etwas rar.
jedoch ein HTML Content Element zu ändern, geht nicht so ohne weiteres.

Für solche Sachen nutzt man meist Extensions, da man die übergeben Variablen besser auf sicherheitsbedingte Aspekte prüfen kann.

Rüdimentäre Sachen gehen jedoch auch mit TypoScript.
Zuerst brauchst du TypoScript Bedingungen , damit Änderungen nur diese eine Seite betreffen
z.B.

[globalVar = TSFE:id= iddeinerSeite]
....
[global]

innerhalb diese Abschnitts kannst du nun z.b.
weitere Elemente auf der Seite hinzufügen:deine Marker oder Subparts neu definieren /umbauen/ erweitern

z.B.

// subpart leeren
//
DEINSUPPART >

// temporäres Objekt anlegen
//
temp.neuerContent = COA
temp.neuerContent{
     // Inhalt aus Spalte Normal
     //  
     10 < styles.content.get
     
     // beliebige zusätzliche Elemente
     20 = TEXT
     20.value (
        hier steht ein Inhalt der nur auf Seite "iddeinerSeite" zu sehen ist
     )

}
// temporäres Objekt, wieder dem Subpart zuweisen
//
DEINSUPPART < temp.neuenContent

Dann kannst du in Kombination der Bedingungen verschiedene Sachen machen
z.B.
[globalVar = TSFE:id= iddeinerSeite] && [globalVar = GP:tx_ttnews|tt_news > 0]
....

temp.neuenContent{
10 ...
20 ...
30 = TEXT
30.value (
Dieser TEXT erscheint nur wenn auf der Seite mit der ID
"iddeinerSeite" bin UND der Extension TT_NEWS eine NEWS_ID übergeben wurde.
}

....

[global]

so im groben, kann man damit Inhalte abhängig von Variablen die der URL mit übergeben werden ändern.

Einen bestehenden Datensatz wie z.B. ein eingefügtes HTML Inhalts Element zu ändern, sollte dann eher mit Hilfe Extension gemacht werden.

Falls du weitere Infos zu Bedingungen brauchst,
TYPO3 Doku:
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Conditions/Index.html

oder in Deutsch
https://docs.typo3.org/m/typo3/reference-typoscript/main/en-us/Conditions/Index.html

wookie ·

Hallo Karlchen,

danke für die Hilfe, hat sehr geholfen und jetzt funktioniert es.

[globalVar = TSFE:id=55]
  temp.mainTemplate.subparts.txt_inhalt >
  
  # temporäres Objekt anlegen
  temp.neuerContent = COA
  temp.neuerContent{      
      # HTML-Element für Newsletter-IFrame
      10 = HTML
      10.stripHtml = 1
      10.htmlSpecialChars = 1
      10.value.data = GPvar:Email
      10.value.wrap = <h1>Newsletter abbestellen?</h1><iframe allowtransparency='true' src='http://xxx/Newsletter?Version=1&Email= | ' width='100%' height='100' scrolling='no' marginheight='0' marginwidth='0' frameborder='0' ></iframe><br><br>

      # Inhalt aus Spalte Normal
      20 < styles.content.get
  }
  # temporäres Objekt, wieder dem Subpart zuweisen
  temp.mainTemplate.subparts.txt_inhalt < temp.neuerContent
[end]

Grüße
Dirk