Kategorien
- [-]Developer (104)
- API (15)
- Backend (17)
- Extensions (29)
- HTML & CSS (4)
- Typoscript (33)
- [-]Redaktionelles (21)
- Anleitungen (9)
- Tipps (8)
- [-]Sonstiges (50)
- SEO (8)
Schlagwortwolke
« | März 2023 | » | ||||
---|---|---|---|---|---|---|
S | M | T | W | T | F | S |
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Letzte Nachrichten
- DSGVO
- 26.05.2018 18:39
- Trackingtools und Datenschutzerklärung
- 14.03.2014 23:07
- 1:n und n:1 Relationen in Extbase
- 06.12.2013 12:04
- Erste Abmahnungen wegen Google Analytics
- 04.10.2013 12:11
Letzte Kommentare
- Das liegt daran, dass die captcha.php versucht, das halbe...
- 05.12.2017 00:41
- Hallo, danke für den tollen Beitrag. Kann man die...
- 22.10.2015 10:05
- Vielen Dank für den Austausch guter Artikel. Es ist eine...
- 17.08.2015 10:58
- Hallo Peter, danke für die Extension. Ich habe sie auf...
- 27.08.2014 12:51
In eigener Sache
Peter Linzenkirchner, Lisardo EDV Beratung in Augsburg. Freelance und Partner für Design- und Webagenturen in Augsburg und München. Pixelgenaue Templates, valides HTML, barrierearm. TYPO3-Projekte, Extension-Programmierung und mehr ...
Zur Zeit wird gefiltert nach: typoscript
Filter zurücksetzen
Man kann den Like-Button von Facebook problemlos mit Typoscript auf jeder Seite einbinden. Zu beachten ist natürlich, dass immer die aktuelle Seite als Link übergeben werden muss.
- lib.likebutton = COA
- lib.likebutton {
- 10 = TEXT
- # aktuelle Seite
- 10.typolink.parameter.data = TSFE:id
- # nur die URL
- 10.typolink.returnLast = url
- # die BaseURL (muss definiert sein)
- 10.dataWrap = {TSFE:baseUrl}|
- # URL.kodiert.
- # und der eigentliche Inhalt
- wrap = <iframe style="border:none; overflow:hidden; width:450px; height:80px;" frameborder="0" scrolling="no" src="http://www.facebook.com/plugins/like.php?href=|&layout=standard&show_faces=true&width=450&action=like&font=arial&colorscheme=light&height=80"></iframe>
- }
Weiterführende Links:
- ein Tutorial von Alex im TYPO3-Forum. Er gibt auch noch Tipps, wie man das Skript als Inhaltselement einbauen kann.
- die Facebookseite, auf der man sich den Code für den Like-Button holen kann.
- Eine ausführliche Anleitung im Blog der Marit-AG, wie der Facebook-Share und der Twitter-Button via TypoScript eingebunden werden können. Sehr brauchbar.
Contentelemente nur über TypoScript
Es ist durchaus möglich, nur mit TypoScript neue Contentelemente anzulegen, allerdings ohne Zugriff auf die Datenfelder. Damit kann zum Einen statischer Inhalt ausgegeben werden, zum Anderen ist es natürlich auch möglich, das gesamte Spektrum von TypoScript einzusetzen. So können speziell angepasste Menüs oder Datenbankinhalte ausgegeben werden. Allerdings kann der Redakteur die Inhalte nicht erstellen – er kann sie nur am gewünschten Platz aufrufen bzw. einsetzen.
[mehr]
Eigene Konstanten im TypoScript
Man kann eigene Konstanten definieren und diese im TypoScript-Template verwenden. Zuerst die Konstante definieren (in der Kategorie Constants im TypoScript-Template):
- # neue Konstante
- test.konstante1=4
Auf diese Konstante kann im TypoScript so zugegriffen werden:
- page.20=TEXT
- page.20.value={$test.konstante1}
Man muss also die Konstante mit geschweiften Klammern umgeben und ein Dollarzeichen davor setzen.
Diese Konstanten können auch über den Constant-Editor verwaltet werden. Dazu muss allerdings direkt oberhalt der Definition der Konstante ein Kommentar eingetragen werden, der die Konstante in den Constant-Editor aufnimmt:
- # cat=Grundeinstellungen//; type=int+; label=Navigations-ID: Geben Sie eine ID ein. Der Text kann auch deutlich länger sein.
- test.konstante1=4
Die Syntax:
- # cat=[Kategorie]/[Subkategorie]/[Position]; type=[Feldtyp]; label=[Titel]:[Beschreibung]
- test.konstante1=4
Es gibt mehrere Möglichkeiten, ein Menü für verschiedene Benutzer oder Benutzergruppen unterschiedlich zu gestalten.
Unterscheidung mit if
- temp.nav_main=HMENU
- temp.nav_main {
- special=directory
- special.value=3
- entryLevel=1
- 1=TMENU
- 1 {
- noBlur=1
- wrap= <divclass="navi"><ul>|</ul></div>
- NO=1
- NO.ATagTitle.field=abstract// description // title
- NO.linkWrap= <li>|</li>
- NO.stdWrap.htmlSpecialChars=1
- NO.ATagParams= class="intern"
- #################################################
- # andere Anzeige für die internen Seiten.
- NO.ATagParams.if{
- value=0
- isGreaterThan.field=fe_group
- }
- ACT< .NO
- ACT.linkWrap= <liclass="aktiv">|
- }
- }
Hier interessiert vor allem die zusätzliche Zuweisung einer besonderen Klasse in einige Menpunkte, die Seiten betreffen, die nur für Frontend User zugänglich sind:
- #################################################
- # andere Anzeige für die internen Seiten.
- NO.ATagParams.if{
- value=0
- isGreaterThan.field=fe_group
- }
Menu Item State:
Eine weitere Möglichkeit sind die Common item states für Menüs; dort gibt es einen Item State speziell für zugangsbeschränkte Seiten: USR und URSRO
Weiterführende Links
Rubrik »if« in der TypoScript-Referenz
Hier vor allem die verschiedenen Vergleichsoperatoren und die Besipiele.
Common Item States in der TSref.
Formularfelder von mailform vorbelegen
Es ist möglich, die Felder eines Mailformulars mit GET-Variablen vorzubelegen. Das muss allerdings mit Hilfe von TypoScript vorbereitet werden.
Folgendes Beispiel geht davon aus, dass das Formular mit der Variablen ?prod=xx aufgerufen wird. xx enthalt die uid eines News-Eintrags. Anhand der übergebenen uid soll das Formular mit dem Titel des News-Eintrags vorbelegt werden.
- tt_content.mailform {
- # Kann auch an anderer Stelle erfolgen -
- # das Register ist global
- 15=LOAD_REGISTER
- 15 {
- # REGISTER hat stdWrap-Eigenschaften, hier cObject
- # Dadurch ist es möglich, das Register mit einer
- # Datenbankabfrage zu füllen, was
- # hier passiert mit Hilfe von RECORDS
- produktname.cObject=RECORDS
- # Contentobjekt RECORDS wird aufgerufen
- produktname.cObject {
- # source: Liste von uid. Mit stdWrap-
- # Eigenschaften.
- # data: stdWrap vom Typ getText
- source.data=GPvar:prod
- # tables: Liste der Tabellen
- tables=tt_news
- # Mit source und tables wird der Datenbank-Inhalt
- # abgefragt.
- # Dieser Inhalt muss jetzt noch gerendert werden.
- # conf.[Tabelle]: Configarray zum Rendern des
- # Inhalts (cObject)
- conf.tt_news=TEXT
- conf.tt_news {
- field=title
- }
- }
- }
- }
- # Nötig, damit der die Variable auch wirklich ersetzt wird
- tt_content.mailform.20.data.insertData=1
- # Cache muss deaktiviert sein
- config.no_cache=1
Im Formular kann so auf den Wert zugegriffen werden:
- Name: | *Name=input,40
- Firma: |Firma=input,40
- Straße: |Strasse=input,40
- PLZ/Ort: |Ort=input,40
- Telefon: |Telefon=input,40
- E-Mail: | *email=input,40| |EMAIL
- Produkt: |Produkt=input,40|{register:produktname}
- Ihre Nachricht: |Mitteilung=textarea,40,8