Backend Anpassung

Diverse Anpassungen des TYPO3 Backends.

Erstellt: 10/2015| Geändert: 10/2015

Seitentitel Backend Login

Der Seitentitel des Backend Logins ist mir zu lange, er ist in den Browser Tabs nicht mehr zu lesen, nur "TYPO3 CMS Login:", aber der Seitenname ist nicht mehr zu sehen. Deshalb wollte ich das ändern, was aber nur durch modifizieren des TYPO3 Cores geht.

Datei: typo3/sysext/backend/Classes/Controller/LoginController.php

Zeile 220:

// Starting page:
$this->content .= $GLOBALS['TBE_TEMPLATE']->startPage('TYPO3 CMS Login: ' . $GLOBALS['TYPO3_CONF_VARS']['SYS']['sitename'], FALSE);

Den Text "TYPO3 CMS Login:" ändern zu z.B. "T3BE:" und fertig.

Erstellt: 06/2015| Geändert: 10/2015

Login Bild

TYPO3 7.x bis 11.x

Hier kann man einfach im Extension Manager bei der Konfiguration der Extension Backend ein Hintergrundbild, ein Logo und eine Farbe angeben.

TYPO3 6.x

Um das Logo zu tauschen folgendes in extTables.php:

$TBE_STYLES['logo_login'] = '../typo3conf/ext/rsys-skin/Resources/Public/Images/logo.png';

Um rotierende Bilder für das Login anzuzeigen folgendes in extTables.php:

$GLOBALS['TBE_STYLES']['loginBoxImage_rotationFolder'] = '../fileadmin/loginimages/';

In den fileadmin/loginimages Ordner die Bilder one.jpg, two.jpg,... legen.

TYPO3 4.4 bis 6.x

Hier muss noch das Template angepasst werden. Das Original liegt in sysext/t3skin/templates/login.htm. Eine Kopie in /fileadmin/loginimages legen und folgenden Eintrag in die extTables.php:

$GLOBALS['TBE_STYLES']['htmlTemplates']['templates/login.html'] = PATH_site.'/fileadmin/loginimages/login.html';

In das HTML Template noch den Marker ###LOGINBOX_IMAGE### aufnehmen und passend per CSS stylen, dann klappt's auch bei TYPO3 4.4 bis hin zu TYPO3 6.x.

Erstellt: 07/2010| Geändert: 03/2023

Login Styles

Um das Aussehen per CSS anzupassen folgendes in die in extTables.php:

$TBE_STYLES['inDocStyles_TBEstyle'] .='
body#typo3-index-php {
    background: none!importent;
    background: #27AE60;
}
body#typo3-index-php .t3-login-logo {
    margin: 15px 0;
}
body#typo3-index-php .t3-headline {
    background: #0088e0;
}
body#typo3-index-php input.t3-login-submit {
    border-top: 1px solid #0267a8;
    border-left: 1px solid #0267a8;
    background: #0088e0!important;
}
body#typo3-index-php input.t3-login-submit:hover {
    border-top: 1px solid #0267a8;
    border-left: 1px solid #0267a8;
    background: #0267a8!important;
}
body#typo3-index-php div#t3-copyright-notice {
    color: #bebebe;
}
#typo3-index-php div#t3-copyright-notice a {
    color: #9e9d9d;
    text-decoration: none;
}
#typo3-index-php #t3-meta-links a {
    color: #a2a1a1;
    text-decoration: none;
}';

Hinweis: ab Version 8 ist diese Anpassung wirkungslos

Erstellt: 11/2015| Geändert: 03/2023

Login Maske Meldungen anzeigen

Standard Meldungen

Einfach im Backend im Root einen Datensatz vom Typ System-Nachrichten anlegen, dieser wird dann angezeigt.

Erstellt: 07/2010| Geändert: 10/2015

Content Spaltenbezeichnung

Ist obsolet bei Verwendung von Backend Layouts

Um die Bezeichnungen und Sichtbarkeit der Spalten zu ändern folgendes in das TS der Seite aufnehmen:

# Left: 1 Normal: 0 Right: 2 Border: 3
mod.SHARED.colPos_list = 0,3

Modifizieren von typo3conf/extTables.php

$TCA["tt_content"]["columns"]["colPos"]["config"]["items"] = array ( 
"1" => array ("Links||Links||||||||","1"), 
"0" => array ("Mitte||Mitte||||||||","0"), 
"3" => array ("Rechts||Rechts||||||||","3"), 
"2" => array ("Unten Links||Unten Links||||||||","2"), 
"4" => array ("Unten Rechts||Unten Rechts||||||||","4"), 
"5" => array ("Fusszeile||Fusszeile||||||||","5") 
);

Sicherstellen dass typo3conf/localconf.php folgendes enthält

$typo_db_extTableDef_script = 'extTables.php';

Erstellt: 07/2010| Geändert: 10/2015

Bezeichnung von Content und Header Layout

Im TS der Seite folgendes aufnehmen:

# Layout selection for pages
TCEFORM.pages {
  layout.altLabels.2 = 3 Spalten
  layout.altLabels.1 = 2 Spalten
  layout.altLabels.0 = Normal (1 Spalte)
}

# Type of content elements
TCEFORM.tt_content {
  header_layout.altLabels.2 = Versteckt
  header_layout.altLabels.1 = Kleiner <h2>
  header_layout.altLabels.0 = Normal(weis) <h1>
}

Erstellt: 07/2010| Geändert: 10/2015

Neu angelegte News verstecken/anzeigen

User TSconfig

Hiermit können neu angelegte News angezeigt werden oder versteckt (0 =sichtbar)

TCAdefaults.tt_news.hidden = 0

Erstellt: 07/2010| Geändert: 10/2015

Admin panel

Generell

Folgendes ins Template aufnehmen um das adminPanel generell zu aktivieren:

config.admPanel = 1

User oder Gruppen Konfiguration

Folgendes ins Group TSconfig aufnehmen um das adminPanel anzuzeigen:

admPanel {
 enable.edit =1
}


Um nur die Editier Icons anzuzeigen ohne Panel:

admPanel {
  enable.edit = 1
  module.edit.forceDisplayFieldIcons = 1
  module.edit.forceDisplayIcons = 1
  module.edit.forceEditFormsOnPage = 1
  hide = 1
}

Erstellt: 07/2010| Geändert: 10/2015

Clear all Cache für normale Nutzer

Clear all Cache ist normalerweise nur für Admins verfügbar, nicht für normale Nutzer. Das kann man ändern durch folgenden Eintrag ins User TS:

options.clearCache.pages = 1
options.clearCache.all = 1

Erstellt: 07/2013| Geändert: 10/2015

Benutzer Feld hinzufügen

Extension

Um im Backend z.B. ein Feld UserColor anzuzeigen kann man schnell eine einfache Extension anlegen mit Hilfe des Kickstarters (hier rsys_pagecolor).

Man wählt dort folgendes:

Extend existing Tables: Pages
Field Name: user_color
Field Type: String input

Zugriff

Zunächst definiert man einen Marker im Template (rsys - Content & Menu)

...
    page.marks {
      # ----------  RSYS_USER_COLOR ----------
      RSYS_USER_COLOR = TEXT
      RSYS_USER_COLOR {
           field = tx_rsyspagecolor_user_color
      }
      # --- end  RSYS_USER_COLOR  
   }

Im HTML Template können die Marker dann verwendet werden - in diesem Beispiel für den Farbwert der im Backend in das Feld User Color eingetragen wurde.

<div id="header" style="background-color:####RSYS_USER_COLOR###">
   <img src="fileadmin/media/common/logo/logo_###RSYS_USER_COLOR###.gif">
</div>  

Oder

für ganz Eilige kann man die Felddefinition auch in die extTables.php schreiben und das Datenbankfeld selbst anlegen (hier als Beispiel ein Feld abstract):

    // Adds the abstract field to the tt_content table
$tempColumns = array (
    "abstract" => array (
        "exclude" => 1,
        "label" => "Zusammenfassung",
        "config" => array (   
            'type' => 'text',
            'cols' => 40,
            'rows' => 15,
            'eval' => 'trim'
        )
    )
);

\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addTCAcolumns("tt_content",$tempColumns,1);
\TYPO3\CMS\Core\Utility\ExtensionManagementUtility::addToAllTCAtypes("tt_content","abstract;;;;1-1-1");

Erstellt: 07/2010| Geändert: 03/2023

Upload Limit

Um das Limit von Uploads zu erhöhen folgendes in die Apache Konfiguration (vhost.conf):

    php_admin_value upload_max_filesize 20M
    php_admin_value post_max_size 20M

In die localconf.php von TYPO3

// ---------------------------------------
// Upload
// ---------------------------------------
/* Set max media file size to 20 MB */
$GLOBALS['TCA']['tt_content']['columns']['media']['config']['max_size'] = 20*1024*1024;
/* Set max number of media files to 20 */
$GLOBALS['TCA']['tt_content']['columns']['media']['config']['maxitems'] = 20;
/* Set max multimedia file size to 20 MB */
$GLOBALS['TCA']['tt_content']['columns']['multimedia']['config']['max_size'] = 20*1024*1024;
/* Set max number of multimedia files to 20 */
$GLOBALS['TCA']['tt_content']['columns']['multimedia']['config']['maxitems'] = 20;

$GLOBALS['TYPO3_CONF_VARS']['BE']['maxFileSize'] = 20*1024;

Quicktime Komponente

Für die Quicktime Komponente muss man es auch noch direkt bei der Extension im ExtManager setzen.

Erstellt: 07/2010| Geändert: 10/2015

Seiten "nicht in Menü" anzeigen

Um Seiten anzuzeigen, bei welchen "nicht in Menü" aktiviert ist kann man eine Vorschau erreichen indem man folgendes TS in ein Template schreibt:

[globalVar = GP:mode = preview]
    page.10.marks.RSYS_MENU_01.includeNotInMenu = 1
    config.linkVars=mode
[global]

Der Aufruf mit mode=preview zeigt dann die entsprechenden Seiten mit im Menü an.

Erstellt: 07/2010| Geändert: 10/2015

Text mit Bild Auswahlmöglichkeiten Positionierung

Um die Auswahlmöglichkeiten für die Bildpositionierung zu beschränken kann man:

TCEFORM.tt_content {
  # Spaltenauswahl nur noch einspaltig
  imagecols.removeItems = 2,3,4,5,6,7,8
  imagecols = 1 

  # Ausrichtung nur noch Links
  imageorient.removeItems = 0,1,2,8,9,10,17,18,25,--div--
  imageorient.disableNoMatchingValueElement = 1
  imageorient = 26
}

Letztlich setzt hier die Select Box im Browser den ersten Wert (hier 26)

Dann muss man noch den Default Wert in der extTables.php setzen (nützt aber glaube ich nichts, wie gesagt setzt er den Wert nicht wirklich als Default sondern über das Browser Frontend).

Labels Umbenennen kann man dann hier auch gleich - und die Spaltenanzahl ändern.

$TCA['tt_content']['columns']['imageorient___INAKTIV'] = array (
     'label' => 'ERWION',
     'config' => Array (
         'type' => 'select',
         'items' => Array (
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.0', 0, 'selicons/above_center.gif'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.1', 1, 'selicons/above_right.gif'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.2', 2, 'selicons/above_left.gif'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.3', 8, 'selicons/below_center.gif'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.4', 9, 'selicons/below_right.gif'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.5', 10, 'selicons/below_left.gif'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.6', 17, 'selicons/intext_right.gif'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.7', 18, 'selicons/intext_left.gif'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.8', '--div--'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.9', 25, 'selicons/intext_right_nowrap.gif'),
             Array('LLL:EXT:cms/locallang_ttc.php:imageorient.I.10', 26, 'selicons/intext_left_nowrap.gif')
         ),
         'selicon_cols' => 2,
         'default' => '26'
     )
 );

Erstellt: 07/2010| Geändert: 10/2015

Datensätze im Modul Web>Seite anzeigen

Um Datensätze in der Ansicht->Seite dazustellen folgendes in extTables.php:

# Add to Module "Page"
$GLOBALS['TYPO3_CONF_VARS']['EXTCONF']['cms']['db_layout']['addTables']['tx_rsysevents_events'][0] = array (
        'fList' =>  'startdate,enddate,title,subtitle',
        'icon' => TRUE
);

# Sorting
$TCA["tx_rsysevents_events"]["ctrl"]['default_sortby'] = "ORDER BY startdate";
   

Erstellt: 07/2010| Geändert: 03/2023

Cache löschen wenn Datensatz editiert wird

Um den Cache für mehrere Seiten zu löschen, wenn ein Datensatz editiert wird in die Eigenschaften des Systemordners der Datensätze folgendes in das Feld "Seiten-TSconfig"schreiben:

## FE-Cache löschen für alle Seiten die Seminare anzeigen
TCEMAIN.clearCacheCmd = 195,197,198,199,200,201,204,208,

Erstellt: 01/2014| Geändert: 10/2015

Passwort vergessen Mail (Backend)

Wenn man in TYPO3 ab Version 10 beim Backend Login den "Passwort vergessen" Link klickt, bekommt man eine Mail zum zurücksetzen des Passworts. Jedoch ist diiese in englischer Sprache. Wie man das ändern kann, war nicht leicht zu finden, weshalb ich es hier veröffentlichen möchte.

Man braucht dazu eine Extension, in meinem Fall meine rsystemplate_bootstrap.

Pfade

Die Template Pfade in der ext_localconf.php anlegen (beachte die Partials haben nicht das "Email" am Ende des Pfades):

$GLOBALS['TYPO3_CONF_VARS']['MAIL']['templateRootPaths'][700] = 'EXT:rsystemplate_bootstrap/Resources/Private/Backend/Templates/Email';
$GLOBALS['TYPO3_CONF_VARS']['MAIL']['layoutRootPaths'][700] = 'EXT:rsystemplate_bootstrap/Resources/Private/Backend/Layouts/Email';
$GLOBALS['TYPO3_CONF_VARS']['MAIL']['partialRootPaths'][700] = 'EXT:rsystemplate_bootstrap/Resources/Private/Backend/Partials';

Kopieren

Dann folgendes kopieren (beachte - der zweite Pfad ist anders: core statt backend!):

# Templates 
typo3/sysext/backend/Resources/Private/Templates/Email/ =>  /Resources/Private/Backend/Templates/Email/
typo3/sysext/core/Resources/Private/Layouts/Email/ =>  /Resources/Private/Backend/Layouts/Email/
typo3/sysext/backend/Resources/Private/Partials/Email/ =>  /Resources/Private/Backend/Partials/Email/

Anpassen

Anschliessend kann man die hardcodierten Texte in den Templates und Partials übersetzen ins Deutsche. Dies sind jeweils mit der Erweiterung txt und html:

Layouts/Email/SystemEmail

Templates/Email/PasswordReset/ResetRequested
Templates/Email/PasswordReset/AmbiguousResetRequested
Templates/Email/Security/LoginAttemptFailedWarning
Templates/Email/Security/LoginNotification

Partials/Email/PasswordReset/ClosingParagraph

Erstellt: 04/2022| Geändert: 04/2022