Typo3 - Extensions: Unterschied zwischen den Versionen
| Zeile 12: | Zeile 12: | ||
[[Front End User Registration (fe_users)]] | [[Front End User Registration (fe_users)]] | ||
| + | |||
| + | [[FreeCap (sr_freecap)]] | ||
[[Date2Calendar (date2cal)]] JavaScript Datumsauswahl für Datumsfelder | [[Date2Calendar (date2cal)]] JavaScript Datumsauswahl für Datumsfelder | ||
Version vom 23. Oktober 2006, 11:18 Uhr
Extensions programmieren
Infos hierzu gibt es im Abschnitt Extension Kickstarter und unter
Typo3 - Extensions programmieren
Nützliche Extensions
Modern Guestbook (ve_guestbook)
Front End User Registration (fe_users)
Date2Calendar (date2cal) JavaScript Datumsauswahl für Datumsfelder
Dynamic Flexforms (dynaflex) Flexforms während der Laufzeit verändern
Google Earth links (itxg_gelinks) Allows to create and view Google Earth .kml files. The building of a link is being done with GPS coordinates in D-M-S notation.
Google Sitemap for Pages and Contents (mc_googlesitemap) All options available
Der Typo3 Extension Kickstarter
(Deutsch: Erweiterungs Manager) Der Erweiterungsmanager ist selbst eine Erweiterung die zuerst installiert werden muß.
Fehler in Extension Kickstarter
Wenn der Kickstarter local installiert ist, dann kann meine eine bereits erstelle Extension nicht im Kickstarter überarbeiten. (Bis Version ?)
Der Kickstarter muß global installiert sein, damit man bereits erstellte Extension mit dem Kickstarter überarbeiten kann.
Kurzanleitung
Wo?
Backend-Modul Ext Manager; hier im Dropdown Menü "Make new Extension"
General Info
Allgemeine Infos zum PlugIn (hat nichts mit der Funktion zu tun)
Extension Key
- Typo3 entfernt Unterstriche (meine_extension wird zu meineextension)
- tx_ wird automatisch vorangestellt
- ein vorangestelltes user_ bedeutet dass es sich um eine eigene Entwicklung handelt, die nicht in das Repository gestellt werden kann.
New Database Tables Hier kann man automatisch die benötigten Tabellen und deren Felder erzeugen. Üblich ist ein Tabellenname mit dem Suffix _main z.B. user_meineErweiterung_main. Hier werden auch einige von Typo unterstützte Funktionen die im Backend als Felder sichtbar sind vorbereitet (z.B. Start, Stop, Hide...). Sinnvoll in diesem Zusammenhang:
Delete* - damit die Tabelle ein Delete Flag bekommt
Hide* - damit Datensätze versteckt werden können
Allowed on Pages - Damit Frontend Plugins auch als Inhaltselement im Backend ausgewählt werden können.
Save and new - damit können später schnell mehrere Datensätze angelegt werden.
- Damit das bei der Anzeige Funktioniert muß die Funktionalität in der Datenbankabfrage mit eingebaut werden (d.h. das Flag muß abgefragt werden).
Datenfelder der Tabelle
Hier werden die Spalten der Tabelle angelegt.
Field name - Der Name der Spalte in der DB (in Kleinbuchstaben, z.B. vorname)
Field title - wird im Backend beim Eingabefeld angezeigt (z.B. Vorname)
Field type - welche Art von Eingabefeld
Frontend Plugins
Integration ins Frontend
Enter a title for the plugin - taucht in der Auswahlliste für die Plugins aus (Backend)
USER cObjects are cached - Auswählen ob gecached wird (für Entwicklung bietet sich das deaktivieren des Caches an.
...Typo Script Code... - den Beispielcode braucht man i.d.R. nicht, ein einfacher Code wird denoch generiert.
weiter unten kann noch angegeben werden wo das Plugin zugänglich ist.
View Result
Hier kann man sehen was erzeugt wird...
Write ... und hier wird es tatsächlich erzeugt.
Bilder in eigener Extension rendern
In diesem Beispiel benutzte Variablen:
$BildAdresse $ParameterFuerImgTag $Alttext
In PHP-Datei der Extension:
$this->conf["imageBeispiel."]["file"]="uploads/pics/".$BildAdresse; $this->conf["imageBeispiel."]["params"]=$ParameterFuerImgTag; $this->conf["imageBeispiel."]["altText"]=$Alttext; $Bild=$this->cObj->IMAGE($this->conf["imageBeispiel."]); $Content.=$Bild;
In Typoscript Setup
plugin.tx_hoTest_pi1 { //hier Plugin-Name
imageArtikel{
file.maxW = {$ho_Test.BildWidthNews}
imageLinkWrap = 1
imageLinkWrap {
enable = 1
bodyTag = <BODY bgColor=white>
wrap = |
width = 400m
height = 400
JSwindow = 1
JSwindow.newWindow = 1
JSwindow.expand = 17,20
}
}
}
Der Wert {$ho_Test.BildWidthNews} kann aus Constants übernommen werden.
Siehe dazu auch Konstanten von Constants im Setup verwenden und Konstanten für Constant-Editor bereitstellen
(aus www.easy-office4you.de/ 10.1.2006)
Spalten der Seiten umbenennen
Um die Spalten der Seite im Backend beliebig umzubenennen und/oder zusätzliche eigene Spalten zu verwenden, muß die Extension zed_more_columns installiert werden und dann in der Datei ext_tables.php die Spalten-Namen eingeben werden.
Beispiel:
$TCA["tt_content"]["columns"]["colPos"]["config"]["items"] = array (
"0" => array ("Mitte||Mitte||||||||","0"),
"1" => array ("Links||Links||||||||","1"),
"2" => array ("Rechts||Rechts||||||||","2"),
"3" => array ("Teaser||Teaser||||||||","3"),
"4" => array ("Fusszeile||Fusszeile||||||||","4")
);
Bei Extension dafür sorgen, daß im Backend kein Sortierungs-Button entsteht
In der Datei ext_tables.php der Extension folgende Zeile ändern
"sortby" => "name",
ändern in
"default_sortby" => "ORDER BY name",
Anstatt "name" kann natürlich auch ein anderes Suchkriterium verwendet werden.