[TYPO3-german] Best Practise: Extension erweitern?
Christian Wolff
Chris at connye.com
Tue Dec 11 19:50:59 CET 2007
On Tue, 11 Dec 2007 19:13:16 +0100, Widmann, Manfred <mpunktw at gmx.net>
wrote:
> Hi!
>
> Ich frage mich, ob es irgendwo ein Tutorial gibt, wie man am besten eine
> Extension erweitert - und zwar ein neues Attribut zu einer Tabelle
> hinzufügt?
>
> Ich hab ja den Kickstartet verwendet umd die Felder hinzuzugeben, NICHT
> gespeichert und alle Änderungen manuell an den entsprechenden Dateien
> durchgeführt. Haut so recht und schlecht hin, aber da muss es doch was
> besseres geben?
>
> Außerdem ein Problem: SQL-Migration! Wo hinterlegt man die
> "alter"-Statements etc... damit sie bei der INstallation der neuen
> Version
> automatisch ausgeführt werden?
>
> lg
> Manfred
>
> P.S.: Gibts da wo ein WIKI? Würde meien Erfahrungen ja gerne ein
> schreiben
> (schon alleine deswegen, weil ich es bis zum nächsten Mal wieder
> vergessen
> habe ;-)) ...
>
>
Hallo Manfred,
Die daten Felder eine Typo3 Extension werden in zwei Dateien. festgelegt:
ext_tables.sql
ext_tables.php
die sql datei enthält das CREATE Table statement.
typo3 Generiert aus als diesen CREATE Statements alle Extension die
datenbank struktur
gleicht diese mit der vorhanden datenbank ab und erzuegt die ALTER
Statements automatisch.
dadurch ist es dir auch in deiner eigenen extension möglich tabellen
anderer extension felder hinzuzufügen
ohne das probleme auftreten. oder z.B weil du feststellst das ein daten
feld z.B tinytext ist. du aber mehr inhalt einfügen möchtest und es
deswegen mit einer extension einfach verändern möchtest ohne das an der
eigendlich
extension rumhacken must.
ext_tables.php ist eine komplexere sache... die mich selbst noch öfter
(über-)fordert.
Hier wird definiert wie die Felder im BE dargestellt werden.
hier soltest du für neuangelegt feldern natürlich eine "rendering"
definition hinterlegen.
Stichword heist hier wohl $TCA (Table Configuration Array). mit hilfe
dieses array und all der optionen
die es gibt wird die darstellung definiert. auch hier ist es möglich
felder andere extensions zu beieinflussen.
so kannst du z.B die darstellung des headline feldes von einem text zu
textarea verwandeln falls du den redakteuren
die möglichkeit geben willst zeilenumbrüche einzubauen.
so hast du deine eigen kleine extension die nichts vom vorhanden
"zerbricht".
leider gibt es keinen super einfachen weg das automatisch zu
aktualisieren. entweder copy und paste aus dem. kickstarter. oder per hand
schreiben zumindest bei ext_tables.sql ist das ja nicht besonders
schwierig.
und ext_tables.php bekommt man auch irgendwie hin.
mehr details zu extensions und ihren dateien findest du in der Core Api
Dokumentation:
http://typo3.org/documentation/document-library/core-documentation/doc_core_api/4.1.0/view/2/1/
und natürlich gibt es ein wiki:
http:wiki.typo3.org
wünsch dir viel erfolg beim basteln an deiner extension.
gruss chris
--
Christian Wolff // Berlin
http://www.connye.com
Latest Projects:
http://www.flycall.de | http://www.atr24.de | http://www.titanic.de
More information about the TYPO3-german
mailing list