Typo3 - Backend Felder vorbelegen

Aus Wikizone
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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[Bearbeiten]

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".

Über TCA Konfiguration[Bearbeiten]

Durch eine einfache TCA Konfiguration können jedoch neue News standartmässig immer gleich eingeblendet werden:

Der Datei extTables.php im Verzeichnis typo3conf (ausgehend vom typo3 Installationsverzeichnis) folgende CodeZeile unten hinzufügen:

$TCA['tt_news']['columns']['hidden']['config']['default'] = '0';

Auf dem selben weg können übrigens auch beliebige tt_news Felder vorbelegt werden. Z.B.

$TCA['tt_news']['columns']['author']['config']['default'] = 'Lina Ourima';

Wenn die Datei extTables.php noch nicht exisitier können Sie diese einfach anlegen. Sie wird in der localconf.php im selben Verzeichnis, also typo3conf, eingebunden:

$typo_db_extTableDef_script = 'extTables.php';

Neue Function - Methode[Bearbeiten]

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[Bearbeiten]

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[Bearbeiten]

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.