Typo3 - Backend Felder vorbelegen: Unterschied zwischen den Versionen
| Zeile 8: | Zeile 8: | ||
Author gehört zu den Feldern die man meistens vorbelegen möchte, am besten mit dem Namen des Redaktuers. Es ist aber ohne Probleme möglich, alle Felder vorzubelegen. Bei meinem Beispiel begrenze ich mich auf das Feld Author in Pages und tt_news. | Author gehört zu den Feldern die man meistens vorbelegen möchte, am besten mit dem Namen des Redaktuers. Es ist aber ohne Probleme möglich, alle Felder vorzubelegen. Bei meinem Beispiel begrenze ich mich auf das Feld Author in Pages und tt_news. | ||
| − | TCAdefaults über das Backend Benutzer TSconfig - Die Standardlösung | + | |
| + | |||
| + | == TCAdefaults über das Backend Benutzer TSconfig - Die Standardlösung == | ||
| + | |||
Die Anpassung erfolgt in der Regel über das TSConfig des Backend Benutzers | Die Anpassung erfolgt in der Regel über das TSConfig des Backend Benutzers | ||
| − | + | TCAdefaults.pages.author= Armin Bartsch | |
| − | |||
Leider hat diese Lösung den Nachteil, dass bei jedem Backend Benutzer das TSconfig angepasst werden muss, da die stdWrap bei TCAdefaults nicht greift und flexible Inhalte nicht eingefügt werden können. Aus diesem Grund ist es leider auch nicht möglich, TCAdefaults in dem TSconfig der Gruppe zu erstellen. | Leider hat diese Lösung den Nachteil, dass bei jedem Backend Benutzer das TSconfig angepasst werden muss, da die stdWrap bei TCAdefaults nicht greift und flexible Inhalte nicht eingefügt werden können. Aus diesem Grund ist es leider auch nicht möglich, TCAdefaults in dem TSconfig der Gruppe zu erstellen. | ||
| Zeile 23: | Zeile 25: | ||
Ich stelle den Methoden-Aufruf am Beispiel "Vorbelegung des Feldes Author in Pages und tt_news". | Ich stelle den Methoden-Aufruf am Beispiel "Vorbelegung des Feldes Author in Pages und tt_news". | ||
| − | Neue Function - Methode | + | |
| + | == Neue Function - Methode == | ||
| + | |||
TYPO3 bietet schon einige Methoden an: prependString, appendString, removeString, replaceString, addToList und removeFromList. | TYPO3 bietet schon einige Methoden an: prependString, appendString, removeString, replaceString, addToList und removeFromList. | ||
Um eine weitere Methode zur Verfügung zu stellen, wird eine neue Klasse mit weiteren Funktionen benötigt. | Um eine weitere Methode zur Verfügung zu stellen, wird eine neue Klasse mit weiteren Funktionen benötigt. | ||
| − | + | . | |
| − | |||
<?php | <?php | ||
| − | |||
| − | |||
| − | |||
class tx_methoden_parserFuncs { | class tx_methoden_parserFuncs { | ||
| − | |||
| − | |||
| − | |||
/** | /** | ||
| − | |||
* The main method of the PlugIn | * The main method of the PlugIn | ||
| − | |||
* | * | ||
| − | |||
* @param string $content: The PlugIn content | * @param string $content: The PlugIn content | ||
| − | |||
* @param array $conf: The PlugIn configuration | * @param array $conf: The PlugIn configuration | ||
| − | |||
* @return The content that is displayed on the website (Header) | * @return The content that is displayed on the website (Header) | ||
| − | |||
*/ | */ | ||
| − | |||
function user1($params=array(),$ref='') { | function user1($params=array(),$ref='') { | ||
| − | |||
| − | |||
| − | |||
global $BE_USER; | global $BE_USER; | ||
| − | |||
return $BE_USER->user[$params['functionArgument']]; | return $BE_USER->user[$params['functionArgument']]; | ||
| − | |||
| − | |||
| − | |||
| − | |||
| − | |||
} | } | ||
| − | |||
} | } | ||
| − | |||
| − | |||
| − | |||
?> | ?> | ||
| Zeile 77: | Zeile 54: | ||
Damit die neue Methode auch aufgerufen werden kann, muss TYPO3 diese bekannt gegeben werden. Dazu ist folgender Code in die localconf.php oder in eine ext_localconf.php einzutragen. | Damit die neue Methode auch aufgerufen werden kann, muss TYPO3 diese bekannt gegeben werden. Dazu ist folgender Code in die localconf.php oder in eine ext_localconf.php einzutragen. | ||
| − | |||
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tsparser.php']['preParseFunc']['author_return'] = 'typo3conf/class.methoden_parserFuncs.php:&tx_methoden_parserFuncs->user1'; | $TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tsparser.php']['preParseFunc']['author_return'] = 'typo3conf/class.methoden_parserFuncs.php:&tx_methoden_parserFuncs->user1'; | ||
| − | Methoden Aufruf - TSconfig in der Backend Benutzergruppe | + | |
| + | === Methoden Aufruf - TSconfig in der Backend Benutzergruppe === | ||
| + | |||
In einer Backend Benutzergruppe, die jedem Benutzer zugeordnet wird, wird im TSconfig der Author-Name vorblegt. Dabei soll als Author-Name der Reale Name erscheinen. | In einer Backend Benutzergruppe, die jedem Benutzer zugeordnet wird, wird im TSconfig der Author-Name vorblegt. Dabei soll als Author-Name der Reale Name erscheinen. | ||
| + | TCAdefaults.pages.author :=author_return(realName) | ||
| − | |||
| − | |||
| − | Schlussbemerkung | + | == Schlussbemerkung == |
Es ist schnell zu erkennen, welche Möglichkeiten Methoden bieten. Es können leicht und schnell zusätzliche Methoden erstellt und individuelle Lösungen erarbeitet werden. Methoden können im TSconfig und im setup /constants zum Einsatz kommen. | Es ist schnell zu erkennen, welche Möglichkeiten Methoden bieten. Es können leicht und schnell zusätzliche Methoden erstellt und individuelle Lösungen erarbeitet werden. Methoden können im TSconfig und im setup /constants zum Einsatz kommen. | ||
Es bietet sich an, Methoden zentralisiert zu verwalten um den Überblick der erstellten Methoden zu erhalten. | Es bietet sich an, Methoden zentralisiert zu verwalten um den Überblick der erstellten Methoden zu erhalten. | ||
Version vom 26. Juni 2009, 12:42 Uhr
Felder vorbelegen
Von Armin Bartsch aus: http://typo3.intervation.de/snippets/backend/felder-vorbelegen.html Datum des Zugriffs: 26.6.2009
Felder in Pages, tt_content, tt_news usw. zentral vorbelegen
Das Vorbelegen von Feldern soll zum einen dem Redakteuer das Erstellen von Seiten vereinfachen, zum anderen Fehleingaben reduzieren und sogar ganz vermeiden.
Author gehört zu den Feldern die man meistens vorbelegen möchte, am besten mit dem Namen des Redaktuers. Es ist aber ohne Probleme möglich, alle Felder vorzubelegen. Bei meinem Beispiel begrenze ich mich auf das Feld Author in Pages und tt_news.
TCAdefaults über das Backend Benutzer TSconfig - Die Standardlösung
Die Anpassung erfolgt in der Regel über das TSConfig des Backend Benutzers
TCAdefaults.pages.author= Armin Bartsch
Leider hat diese Lösung den Nachteil, dass bei jedem Backend Benutzer das TSconfig angepasst werden muss, da die stdWrap bei TCAdefaults nicht greift und flexible Inhalte nicht eingefügt werden können. Aus diesem Grund ist es leider auch nicht möglich, TCAdefaults in dem TSconfig der Gruppe zu erstellen.
Gerade wenn man viele Backend Benutzer verwaltet, bedeutet dies ein erheblicher Arbeitsaufwand, da bei jedem Benutzer das TSconfig angepasst werden muss. TCAdefaults über die Backend Benutzergruppe - Methoden anwenden
Ab TYPO3 Version 4 ist es möglich, mit Hilfe des Operators := eine Methode aufzurufen. Der Methoden-Aufruf kann auch im TSconfig erfolgen, flexible Lösungen sind nun auch im TSconfig möglich.
Ich stelle den Methoden-Aufruf am Beispiel "Vorbelegung des Feldes Author in Pages und tt_news".
Neue Function - Methode
TYPO3 bietet schon einige Methoden an: prependString, appendString, removeString, replaceString, addToList und removeFromList.
Um eine weitere Methode zur Verfügung zu stellen, wird eine neue Klasse mit weiteren Funktionen benötigt. .
<?php
class tx_methoden_parserFuncs {
/**
* The main method of the PlugIn
*
* @param string $content: The PlugIn content
* @param array $conf: The PlugIn configuration
* @return The content that is displayed on the website (Header)
*/
function user1($params=array(),$ref=) {
global $BE_USER;
return $BE_USER->user[$params['functionArgument']];
}
}
?>
Speicherort der Datei ist typo3conf/class.methoden_parserFuncs.php. Neue Methode registrieren
Damit die neue Methode auch aufgerufen werden kann, muss TYPO3 diese bekannt gegeben werden. Dazu ist folgender Code in die localconf.php oder in eine ext_localconf.php einzutragen.
$TYPO3_CONF_VARS['SC_OPTIONS']['t3lib/class.t3lib_tsparser.php']['preParseFunc']['author_return'] = 'typo3conf/class.methoden_parserFuncs.php:&tx_methoden_parserFuncs->user1';
Methoden Aufruf - TSconfig in der Backend Benutzergruppe
In einer Backend Benutzergruppe, die jedem Benutzer zugeordnet wird, wird im TSconfig der Author-Name vorblegt. Dabei soll als Author-Name der Reale Name erscheinen.
TCAdefaults.pages.author :=author_return(realName)
Schlussbemerkung
Es ist schnell zu erkennen, welche Möglichkeiten Methoden bieten. Es können leicht und schnell zusätzliche Methoden erstellt und individuelle Lösungen erarbeitet werden. Methoden können im TSconfig und im setup /constants zum Einsatz kommen.
Es bietet sich an, Methoden zentralisiert zu verwalten um den Überblick der erstellten Methoden zu erhalten.