TypoScript Einstellungen in Extensions auslagern
TypoScript und TSconfig Einstellungen in Extbase[Bearbeiten]
Extbase Extensions sind etwas anders organisiert. Hier hat sich einiges verändert, daher sind die untenstehenden Infos teilweise überholt.
Siehe TYPO3 - Extensions mit Extbase programmieren und von dort in Snippets
TypoScript für Constants und Setup[Bearbeiten]
Die alte Methode[Bearbeiten]
im Hauptordner der Extension:
ext_typoscript_constants.txt ext_typoscript_setup.txt
Der Inhalt dieser Dateien wird automatisch eingebunden. Dies ist eigentlich die "alte Art" TypoScript einzubinden. Sie hat aber den Vorteil das man nur hierüber Einstellungen von anderen Plugins die ebenfalls so arbeiten überschreiben kann.
ext_emconf.php
In dieser Datei kann man festlegen daß sie erst am Schluss nachdem alle anderen Extensions geladen wurden ausgeführt wird. Somit hat man die Möglichkeit die Einstellungen die in den anderen Extensions gemacht wurden wieder zu überschreiben. Damit das klappt setzt man die Eigenschaft:
... 'priority' => 'bottom', ...
Die neue Methode[Bearbeiten]
In neueren Extensions funktioniert das Einbinden von Statischem TypoScript etwas anders: Es gibt es im Extension Verzeichnis einen Ordner mit dem Namen
static
In diesem Ordner werden die Dateien
constants.txt setup.txt
manchmal auch
editorcfg.txt
Abgelegt.
Wenn die TypoScripte auf diese Weise in der Extension vorliegen, stehen Sie im Haupttemplate der Website im Feld static Templates zur Verfügung und können bzw. müssen dort ausgewählt werden.
Zur Verfügung stehen Sie aber nur dann, wenn sie auch in der Datei ext_tables.php eingebunden werden. Das funktioniert mit folgender Funktion (Beispiel aus der Extension css_styled_content):
t3lib_extMgm::addStaticFile($_EXTKEY,'static/','CSS Styled Content');
Praktischerweise erledigt dies schon der Extensionmanager automatisch.
TSConfig[Bearbeiten]
Hierbei gibt es keine Dateien deren Inhalt automatisch übernommen wird. Deshalb müssen wir selbst dafür sorgen: Wir erstellen zwei Dateien
tsconfig_page.txt tsconfig_user.txt
in der Datei
ext_localconf.php
nutzen wir die Funktionen addPageTSConfig und addUserTSConfig um den benötigten Code hinzuzufügen
<?php
if (!defined ('TYPO3_MODE')) die ('Access denied.');
// add default page TSconfig
t3lib_extMgm::addPageTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:meineExtension/tsconfig_page.txt">');
// add default user TSconfig
t3lib_extMgm::addUserTSConfig('<INCLUDE_TYPOSCRIPT: source="FILE:EXT:meineExtension/tsconfig_user.txt">');
//you need to allow explicitly the available content elements for users
$TYPO3_CONF_VARS['BE']['explicitADmode'] = 'explicitAllow';
?>
Komfortable Eingabe für den Benutzer im Constants Editor[Bearbeiten]
Konstanten für Constant-Editor bereitstellen
Zusammenfassung aus: http://www.easy-office4you.de/constant-editor.html Datum des Zugriffs: 9.8.2008
Beispiele:
#cat=meinText/typo/a; type=string; label=Mein Text meinText.meineTextEingabe = Hallo Welt! #cat=meinText/enable/b; type=boolean; label=Mein Text2 meinText.Text2 = 1 #cat=Kategorie/Subkategorie/Buchstabe; type=Feldtyp; label=Label Kategorie.Label = Wert
Konstanten Die Kategorie ist frei wählbar. Sinnvoll ist es natürlich, hier einen Wert einzugeben, der sich auf das entsprechende Plugin bezieht, also z.B.
cat=plugin.meinPlugin
Hinter die Kategorie kann ein / folgen und danach eine Subkategorie, z.B.
enable, dims, file, typo, color, links oder language
Danach folgt ein / und ein Buchstabe, der die darzustellende Reihenfolge im Constant-Editor bestimmt.
Feldtyp
Mögliche Feldtypen:
int int+ color wrap offset options coolean comment file string
weitere Beispiele
#cat=gbt3.basic/template; type=options[doc,doc2,doc3,doc4,doc_custom]; label= Wrapper ID: yui uses this id to set basic layout (with, fixed...), Or specify a own width (widht in em = px/13 or /13.3333 for IE) wrapperid = doc2