TYPO3 Tipps & Tricks

Alle Kategorien > Typoscript


Alle anzeigen / Alle verbergen

Antwort auf/zuklappen

In der Printansicht Backlink zur Normalansicht per Typoscript erzeugen

Wer die Druckversion im selben Fenster öffnet und ohne Javascript auskommen möchte (history.back();), kann einen "Zurück zur Normalansicht" Link auch so generieren:

# Link zur Normalansicht: aktuelle Seite mit allen Parametern ausser type=98 (=> Printansicht)
  10 = TEXT
  10.value = Zurück zur Normalansicht 
  10.typolink.parameter.data = TSFE:id
  10.typolink.addQueryString = 1
  10.typolink.addQueryString.exclude = type
  10.wrap = |

Kategorie: Typoscript
Antwort auf/zuklappen

Breadcrumb Menü: Seiten, die auf "Im Menü unsichtbar" gestellt sind, sollen im Breadcrumb-Menü angezeigt werden

Mit includeNotInMenu = 1  im Typoscript des Breadcrumb-Menüs werden Seiten angezeigt, bei denen die Option "Im Menü unsichtbar" aktiviert ist

temp.breadcrumb = HMENU
temp.breadcrumb {
  special = rootline
  special.range = 0|-1
  includeNotInMenu = 1
  1 = TMENU
  1.NO = 1
  1.NO.allWrap = |  ⇒
  1.CUR = 1
  1.CUR.allWrap = |
  1.CUR.doNotLinkIt = 1

Kategorie: Typoscript, Frontend
Antwort auf/zuklappen

Newsplugin: HTML Tags im Text der Listenansicht

//um HTML-Tags auch in der Listenansicht von tt_news zu ermöglichen
// folgendes ins Setup eintragen


plugin.tt_news.displayList.subheader_stdWrap.stripHtml = 0 

Antwort auf/zuklappen

Index-Suche auf zwei Seitenbäume (Mehrsprachig) aufteilen

Bei zweisprachigen Seiten, die über zwei verschiedene Seitenbäume realisiert werden, muss auch die Suchfunktion entsprechend angepasst werden, damit nicht beide Seitenbäume durchsucht werden.

Mit
plugin.tx_indexedsearch.search.rootPidList = Rootseite-der-jeweiligen Sprache
im jeweiligen Template werden gar keine Suchergebnisse ausgegeben.

Die Lösung liefert die Option "sections" (im Setup des Typoscript-Templates jedes Sprachbaums)
plugin.tx_indexedsearch._DEFAULT_PI_VARS.sections = rl1_2

rl(Ebene)_(Rootseite-der-jeweiligen Sprache)

 

 

 

Antwort auf/zuklappen

Copyright mit aktuellem Jahr

Mit etwas TypoScript bleibt die Jahreszahl im Copyright immer up-to-date:

temp.copyright = TEXT
temp.copyright.data = date:U
temp.copyright.strftime = %Y
temp.copyright.wrap = &copy; <span style="padding:0 1px;">|</span> rochelt.info
 

Kategorie: Typoscript
Antwort auf/zuklappen

Multilevel Textmenu als ungeordnete Liste

temp.navigation = HMENU
temp.navigation.entryLevel = 0

temp.navigation.1 = TMENU
temp.navigation.1.noBlur = 1
temp.navigation.1 {
    expAll = 1
    wrap = <ul>|</ul>
    NO.wrapItemAndSub = <li>|</li>
    IFSUB = 1
    IFSUB.wrapItemAndSub = <li class="hasSubpages">|</li>

temp.navigation.2 <   temp.navigation.1
temp.navigation.3 <   temp.navigation.1 

 

Kategorie: Typoscript
Antwort auf/zuklappen

Letztes/erstes Menüelement anders formatieren: optionSplit

#z.B. letztes Element erhält eine eigene CSS-Klasse

1.NO.allWrap = |*| <li>|</li> |*| <li class="last">|</li>    

Kategorie: Typoscript
Antwort auf/zuklappen

Indexed Search indiziiert metatags

indexed_search so konfigurieren, dass Meta_tags nicht durchsucht werden:

Ab der TYPO3-Version 4.2 geht's über Typoscript
Folgendes ins TS-Setup eintragen:

config.index_metatags =
page.config.index_metatags = 

Für alle Versionen darunter ist's leider etwas komplizierter. Hier muss die PHP-Funktion splitHTMLContent($content) adaptiert werden.  Ein Anleitung dazu findet ihr hier.

 

Antwort auf/zuklappen

Mehrsprachige News per SELECT-Abfrage ausgeben

Eine eigene Typoscript-Abfrage ist wesentlich schneller als LIST or LATEST.
Brauchbar bei einer grossen Anzahl von Datensätzen.

Erzeuge eine Liste mit Newstiteln (inkl. Link zur Singleansicht):

#wenn keine Übersetzung vorhanden, zeige die Newseinträge der Default-Sprache
    config.sys_language_overlay = 1
   
     temp.mynewslist = CONTENT
     temp.mynewslist  {
                    table = tt_news
                    select {
                          pidInList = 123  # Sysfolder-ID mit Newsdatensätzen
                          languageField = sys_language_uid
                          where = deleted=0
                          andWhere = t3ver_state<=0
                          andWhere = hidden=0
                           orderBy = datetime DESC                                      
                    }
               
                    renderObj = COA
                    renderObj {
                    wrap =  |
                    10 = TEXT
                    10.field = title
                     10.typolink {
                         parameter = 777 # Seiten-ID der Seite mit News-Singleansicht
                         additionalParams=&tx_ttnews[tt_news]={field:uid}&tx_ttnews[backPid]={TSFE:id}
                         additionalParams.insertData=1
                         useCacheHash=1
                     }                  
                }
    }

 

Kategorie: Typoscript
Antwort auf/zuklappen

GET-Variable per TYPOSCRIPT auslesen

z.B. Link auf www.rochelt.info/index.php&deinParameter=deinWert

Folgender Code auf der Seite mit der PageID 31 gibt den Wert "deinWert" aus:

10 = COA
10 {
    10 = TEXT
    10.data = GPvar : deinParameter  

Kategorie: Typoscript
Antwort auf/zuklappen

IP-Adresse des Clients per TYPOSCRIPT ausgeben

 

10 = COA
10 {
    10 = TEXT
    10.data = getIndpEnv : REMOTE_ADDR
}

Kategorie: Typoscript
Antwort auf/zuklappen

<body> -Tag ändern

Um den Standard <body>-Tag zu ersetzen und z.B. einen Javascriptaufruf hinzuzufügen im Setup des Templates folgendes eingeben:

page.bodyTag = <body onload="onLoad();> 

Kategorie: Typoscript
Antwort auf/zuklappen

Dateiverweise (Filelist): Beschränkung auf 10 Dateien aufheben

Folgenden Eintrag in typo3conf/extTables.php eingeben:

$GLOBALS['TCA']['tt_content']['columns']['media']['config']['maxitems']=100

Kategorie: Typoscript, Backend, Frontend
Antwort auf/zuklappen

In TYPOSCRIPT ein Logo verlinken

temp.logo = IMAGE
temp.logo.file = fileadmin/template/main/interface/logo.gif
temp.logo.altText = Alternativtext für Logo
temp.logo.stdWrap.typolink.parameter=http://www.einfach-ist-schön.at/

ODER suchmaschinenotpimiert und schöner mit CSS Image Replacement:

temp.logo = HTML
temp.logo.value = <a href="http://www.einfach-ist-schön.at/ "><h1>Einfach ist sch&ouml;n</h1></a> 

Im CSS-File:

#logo {position:relative; float:left; width:172px; height:38px;}
#logo h1 {width:172px; height:38px; background:url(../interface/logo.gif); text-indent: -9999px;padding:0; margin:0; border:0;}
#logo a {outline: none;}

 

Kategorie: Typoscript
Antwort auf/zuklappen

Mehrsprachiger Link für Druckansicht

temp.druckansicht = COA

[globalVar = GP:L = 2]
      temp.druckansicht .wrap = Print Version
[else]
      temp.druckansicht .20.data = 0
      temp.druckansicht .wrap = Druckansicht
[end]

temp.druckansicht.10 = TEXT
temp.druckansicht.10.data = TSFE:id
temp.druckansicht.10.wrap = index.php?id=|

temp.druckansicht.20 = TEXT
temp.druckansicht.20.data = TSFE:sys_language_uid
temp.druckansicht.20.wrap = &L=|&type=98

Kategorie: Typoscript
Antwort auf/zuklappen

Globale Variable aus Setup-Template in PHP-Datei abfragen

Für Extension-Entwicklung:

z.B.  Domain wird im Setup des Website-Templates definiert

config.baseURL = www.einfach-ist-schoen.at

In der php-Datei der Extensionkann die Typoscript-Variable so abgefragt werden:
$theDomain = $GLOBALS["TSFE"]->config["config"]["baseURL"];

Antwort auf/zuklappen

Mehrere Stylesheets einbinden

seite.includeCSS {
   file1 = fileadmin/Internet/css/screen.css
   file1.media = screen,projection

    file2 = fileadmin/Internet/css/print.css
    file2.media = print
}

Kategorie: Typoscript