TYPO3 Tipps & Tricks

Alle Kategorien



Alle anzeigen / Alle verbergen

Antwort auf/zuklappen

Meldung auf der TYPO3-Backend Loginseite ausgeben

Folgende Zeile in die Datei /typo3conf/extTables.php  eintragen:

$GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'][]= array (
    'header' => 'Ihre Überschrift',
    'content' => 'Ihr Meldungstext'
); 

Sie können natürlich auch mehrere Meldungen bzw. News für TYPO3-User ausgeben und das loginNews-Array erweitern:

$GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'][]= array (
    'date' => '2.1.2010',    
    'header' => 'Überschrift 2',
    'content' => 'Newstext 2'
);  

$GLOBALS['TYPO3_CONF_VARS']['BE']['loginNews'][]= array (
    'date' => '1.1.2010',    
    'header' => 'Überschrift 1',
    'content' => 'Newstext 1'
);   

Kategorie: Backend
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

TYPO3 barrierfrei?

Praktische Tipps zum Thema TYPO3 und Barrierefreiheit:

Einfach für alle
Alles zum Thema Barrierefreiheit

Barrierefreiheit in der Praxis
Wie der Name schon verrät, ein sehr praxisbezogener Artikel, t3n-Magazin

Kein Kinderspiel. TYPO 3 und Barrierefreiheit
Allgemeines zum Thema, t3n-Magazin

Video zum Vortrag "Standardkonforme Webseiten mit TYPO3"
Kai Laborenz spricht auf dem Multimediatreff in Köln über barrierefreie Websites mit TYPO3; sehr praxisbezogen

Buchtipp "TYPO3 4.0 Das Handbuch für Entwickler"
Kai Laborenz, Thomas Wendt, Andrea Ertel, Prakash Dussoye, Elmar Hinz, Verlag: Galileo Computing
Empfehlenswert ist vor allem der Part "Barrierefreie und standardkonforme Websites mit TYPO3"

YAML-Template für TYPO3
(X)HTML/CSS Framework, ausgerichtet auf Webstandards und Barrierefreiheit 

 

 

Kategorie: Frontend
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

Spamprotection

Folgendes ins SETUP der Root-Seite:
config.spamProtectEmailAddresses = 2
config.spamProtectEmailAddresses_atSubst = (at)

Kategorie: Frontend
Antwort auf/zuklappen

Dateiverweise (Filelist): Icon für jeweiligen MIMETYPE

Neue Dateiendungen + entsprechendes Icon hinzufügen:

Icon mit dem Namen der Dateiendung (z.B. docx.gif) in folgendem Ordner speichern:

typo3/sysext/cms/tslib/media/fileicons/

Kategorie: Frontend
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

Backend Frame für Seitenbaum vergrößerbar machen

In der User TS-Config:  

setup.override.navFrameResizable = true
setup.override.navFrameWidth = 290
#Länge des Seitentitels begrenzen
setup.override.titleLen = 28 

Kategorie: Backend
Antwort auf/zuklappen

(Kopie 1) Beim Kopieren von Seiteninhalten unterdrücken

Folgende Zeile in das PageTS Ihrer Root Seite:


TCEMAIN.table.tt_content.disablePrependAtCopy = 1

Kategorie: Backend
Antwort auf/zuklappen

Backend Sprache auf Deutsch einstellen

Ab Typo3, Version 4.0  im Extension Manager:
"Extension Manager" -> "Translation handling" -> "German"
"Save Selection"
"Update from online repository"

Kategorie: Backend
Antwort auf/zuklappen

Submit Button fehlt in der Backend- Benutzerverwaltung

TYPO3 Version 4.2.10, BUG 0009738 

In der Backend User Administration fehlt der Submit-Button in "Group and Compare Users".

LÖSUNG: Gewünschte Checkbox aktivieren und auf ENTER-Taste drücken

Kategorie: Backend
Antwort auf/zuklappen

Seitencache löschen auch für NichtAdmin-User

In die User TSconfig

options.clearCache.pages = 1

Kategorie: Backend
Antwort auf/zuklappen

Page-ID im Seitenbaum anzeigen

In der User TS-Config:

options.pageTree.showPageIdWithTitle = 1 

Kategorie: Backend
Antwort auf/zuklappen

Kontextmenü: Bestimmte Optionen für einzelne Benutzer/Gruppen ausblenden

z.B.:

options.contextMenu {
    pageTree.disableItems = info,history,perms,hide,edit_access
}

typo3.org/documentation/document-library/core-documentation/doc_core_tsconfig/4.2.0/view/1/2/

options.contextMenu.[key].disableItems 

 

 

 

Kategorie: Backend
Antwort auf/zuklappen

Patch einspielen per SSH

1.) Auf der Website bugs.typo3.org findet man aktuelle Patches für TYPO3-Bugs.

2.) Das Patch-File per FTP in den TYPO3-Ordner hochladen.

3.) Über SSH verbinden und in das entsprechende Verzeichnis wechseln.

4.) Patch mit folgendem Befehl installieren:
patch -p0 < [Pfad-zum-Patch]/Name-des-Patches.patch

5.) Die  Änderungen werden automatisch eingespielt. 

Kategorie: Backend
Antwort auf/zuklappen

Bei Server-Crash

Dateien temp_CACHED_..... im typo3conf Verzeichnis löschen!

Kategorie: Backend
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
Antwort auf/zuklappen

Überschriften H1, H2, H3 aus RTE entfernen

#Entfernt H1, H2, H3  aus dem RTE
RTE.default.hidePStyleItems = h1,h2,h3

Kategorie: RTE
Antwort auf/zuklappen

RTE: Kein P-tag wrap in TABELLEN

Folgendes ins TS SETUP eintragen:

#P Tag Ummantelung in Tabellen verhindern:
lib.parseFunc_RTE.externalBlocks = ul,ol,table
#nochmaliges parsen von tabellenzellen auschalten
lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.
callRecursive = 0
#nachträgliches ermöglichen von Links in Tabellenzellen
lib.parseFunc_RTE.externalBlocks.table.HTMLtableCells.default.
stdWrap.parseFunc {
        makelinks = 1
        makelinks.http.keep = scheme,path,query
        makelinks.mailto.keep = path
        tags {
                link = TEXT
                link {
                 current = 1
                 typolink.parameter.data = parameters : allParams
                }
       }
}

Kategorie: RTE
Antwort auf/zuklappen

RTE: Default Alt/Title-Text bei Links entfernen

RTE.classesAnchor {
      internalLink {
              altText =
              titleText =
      }
       externalLink {
              altText =
              titleText =  
        }
       externalLinkInNewWindow {
              altText =
              titleText =  
        }
        internalLinkInNewWindow {
              altText =
              titleText =  
        }
        download {
              altText =
              titleText =  
       }
        mail {
              altText =
              titleText =  
        } 
}

Kategorie: RTE
Antwort auf/zuklappen

Zeilenumbruch statt Absatz einfügen

Mit ENTER wird ein Absatz eingefügt.

Taste "SHIFT" (Großschreibungstaste) gedrückt halten und ENTER:
fügt einen einfachen Zeilenumbruch ein

Kategorie: RTE
Antwort auf/zuklappen

News: Cache automatisch leeren

Unter "Seiteneigenschaften > Optionen > TSconfig"  des News-Sysfolders, der die Newsdatensätze enthält folgendes einfügen:


TCEMAIN.clearCacheCmd = 1,2,3

1,2,3 steht für die Seiten ID's der Seiten auf denen sich ein News-Plugin befindet.

 

 

Kategorie: Erweiterungen
Antwort auf/zuklappen

Wenn keine News vorhanden, soll Message "Keine News in dieser Ansicht." NICHT erscheinen

#wenn keine News vorhanden soll Text "Keine News in dieser Ansicht." nicht erscheinen
plugin.tt_news {
 _LOCAL_LANG.de.noNewsToListMsg = <div style="display: none"></div>"
 _LOCAL_LANG.en.noNewsToListMsg = "<span style="display: none"></span>"
 _LOCAL_LANG.default.noNewsToListMsg = 
}

Kategorie: Erweiterungen
Antwort auf/zuklappen

Printlink + RealUrl + News Detail

In localconf.php:

...

  'preVars' => array (
   array (
                'GETvar' => 'no_cache',
                'valueMap' => array (
                    'no_cache' => '1',
                ),
                'noMatch' => 'bypass',
            ),
   
   array (
    'GETvar' => 'type',
    'valueMap' => array (
     'print' => '98',
     ),
    'noMatch' => 'bypass'
   ),
   array (
    'GETvar' => 'L',
    'valueMap' => array(
     'de' => 0,
     'en' => 2,
    ),
    'noMatch' => 'bypass',
   ),
  ),
....

UND

....

        'fileName' => array (
   // add .html suffix to the end of the path generated
   'defaultToHTMLsuffixOnPrev' => 1,

            'index' => array (
    'print.html' => array(
        'keyValues' => array (
          'type' => '98',
        ),
       ),
    
            ),
        ),
...

Als Printlink Erweiterung as_printlink (die funktioniert auch mit REALURL problemlos)

 

Kategorie: REALURL, Erweiterungen
Antwort auf/zuklappen

damit class-Attribut für table im RTE erhalten bleibt

RTE table class fix: damit class-Attribut für table im RTE erhalten bleibt und nicht durch contenttable ersetzt wird, folgende Zeile ins TS template Setup:
lib.parseFunc_RTE.externalBlocks.table.stdWrap.HTMLparser.tags.table.fixAttrib.class.list >

Kategorie: RTE
Antwort auf/zuklappen

Suche auf bestimmten Bereich des Seitenbaums einschränken

#123 ist die Page ID des Bereichs der durchsucht werden soll
plugin.tx_indexedsearch._DEFAULT_PI_VARS.sections = rl1_123

Kategorie: Erweiterungen
Antwort auf/zuklappen

Powermail: doppelte Einträge verhindern

Doppelte Einträge entstehen, wenn das Powermail-Formular irrtümlicherweise zweimal hintereinander gesendet wird (Doppelklick oder Seitenaktualisierung) 

LÖSUNG:
Folgende Zeile in den CONSTANTS hinzufügen

plugin.powermail.enable.unique = uid1
(uid1 steht für den Wert des Emailfeldes. Nummer im Formular nachsehen!) 

Kategorie: Erweiterungen
Antwort auf/zuklappen

Powermail: Absendername und Absenderadresse im Bestätigungsemail überschreiben

Name und Adresse des Absenders im Bestätigungsemail überschreiben:

ins SETUP der Formularseite:

plugin.tx_powermail_pi1 {
    email {
        sender_mail {
            sender.name = TEXT
            sender.name.value = Ihr Name
            
            sender.email = TEXT
            sender.email.value = email@einfach-ist-schön.at
        }
    }

Kategorie: Erweiterungen
Antwort auf/zuklappen

Powermail: Anmeldungsdaten als .csv oder .xls exportieren

1.) Zeitfilter in TSCONFIG der Startseite eintragen:
tx_powermail_mod1.config {
   list.filterstart = 2010-01-01 00:00
}

2.) Powermail im Menü WEB links auswählen

3.) Im Seitenbaum Formularseite auswählen

4.) Oben rechts stehen die Daten als CSV, XLS oder Tabelle zum Download bereit.

 

Kategorie: Erweiterungen