[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