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