Backend Anpassung
Diverse Anpassungen des TYPO3 Backends.
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.
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.
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
Login Maske Meldungen anzeigen
Standard Meldungen
Einfach im Backend im Root einen Datensatz vom Typ System-Nachrichten anlegen, dieser wird dann angezeigt.
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';
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>
}
Neu angelegte News verstecken/anzeigen
User TSconfig
Hiermit können neu angelegte News angezeigt werden oder versteckt (0 =sichtbar)
TCAdefaults.tt_news.hidden = 0
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
}
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
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");
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.
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.
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'
)
);
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";
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,
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