Zum Inhalt springen

Extension HowTo ?

Erstellt am 4. März 2003 · 3 Antworten · letzte Antwort am 6. August 2003

Tags: Frage

Shinji ·

Hallo !

Gibt es irgendwo eine HowTo wie man eigene Extensions schreibt?
Gibt es dafür eventuell eine spezielle Software? Denn wenn ich in die .t3x Dateien schaue stehen da ja so dolle Sachen wie

7f9c54db39f55480ec587cb3c140e3a2::a:4:{s:6:"extKey";s:8:"tt_links";s:7:"EM_CONF";a:21:{s:5:"title";s:10:"Links list"

drin. Also ich habe im Moment überhaupt keine Ahnung wie das gehen soll. Ich muss ja auch eine Eingabemaske für das Backend schreiben usw.

Es soll später einmal so etwas wie tt_address dabei herauskommen, halt nur mit anderen Formularfeldern usw. Es würde mir ja schon reichen diese Extension so weit anzupassen wie ich sie gerne hätte.
(siehe auch: mein Beitrag in TypoScript

Aber das muss sich ja später auch noch installieren lassen usw. Einfach die Dateien

ext_emconf.php
ext_icon.gif
ext_tables.php
ext_tables.sql
ext_typoscript_constants.txt
ext_typoscript_setup.txt
locallang_tca.php
tca.php

editieren und in mein tt_members Verzeichnis kopieren geht wohl nicht, oder?

Gruß
Thorsten

Shinji ·

So, ich habe das tt_address einmal etwas geändert aber jetzt ein Problem.

In der tca.php steht z.B.

"phone" => Array (
			"label" => "LLL:EXT:lang/locallang_general.php:LGL.phone"

Also wird die Überschrift für das Eingabefeld aus der locallang_general.php genommen. Was aber wenn ich Felnamen brauch die da nicht drinstehen? Also z.B. "Eintrittsdatum", "Aufgaben" usw.

Außerdem erscheinen die Eingabefelder nicht im backend wenn ich den Namen von phone auf z.B. telefon oder zip auf plz ändere. Und das obwohl ich in der tca.php ganz oben

"interface" => Array (
		"showRecordFieldList" => "....,telefon,....

eingefügt habe. Und was bedeuten ganz am Ende die Zahlen bei

"types" => Array (	
		"1" => Array("showitem" => "hidden;;;;1-1-1, name;;2;;3-3-3,.....

und bei "palettes"?

Die ext_tables.sql habe ich meinen Bedürfnissen angepasst.

Und was noch hinzukommt, im ExtensionManager wird darauf hingewiesen das der Name tt_members nicht gültig sei !?

Hilfe !!!

Gruß
Thorsten

Rob ·

Das selbe Problem hatte ich auch grade und hab es auch gelöst bekommen - vielleicht hilft's dir weiter :

Also wird die Überschrift für das Eingabefeld aus der locallang_general.php genommen. Was aber wenn ich Felnamen brauch die da nicht drinstehen? Also z.B. "Eintrittsdatum", "Aufgaben" usw.

Schreib einfach "label" => "Dein Label"
Geht natürlich nur, wenn du ne einsprachige Seite hast... Geht bestimmt auch eleganter, aber so gut kenn ich mich noch net aus. 🙂

   "types" => Array (    
        "1" => Array("showitem" => "hidden;;;;1-1-1, name, vorname;;2;;, address;;;;3-3-3, zip, city;;3, email;;5;;, phone;;4, image;;;;4-4-4, description")
    ),

So wie ich das verstanden hab, steht hier, was wo angezeigt wird.
Zuerst hidden, dann name, dann vorname, usw
;;2 steht dabei für die "2" von der 2.Palette (Titel, company)
;;;;3-3-3 scheint für ein Ende einer sub-Tabelle zu stehen
Die anderen Sachen hab ich nicht ausprobiert...

Achja - vergiss beim Testen nicht den Cache zu löschen - das spart viel unnötiges Kopfzrbrechen ! 🙂

Btw - bin noch Typo-Neuling, also wenn jemand das ganze eleganter lösen kann, bitte benachrichtigen - ich will ja was lernen 🙂

Rob

dj.​picasso ·

Hi Rob,

das was Du da machst, ist vom Ansatz her schon die richtige Richtung, Du solltest aber trotzdem anders vorgehen.

In jedem Hauptverzeichnis einer EXT gibt es die locallang......php-Dateien.
Die locallang_tca.php ist auch für die tca.php zuständig.
Dort Dein Label hinzufügen für die einzelnen Sprachen, dann klappt auch mit der "italienischen" Nachbarin. 😃

"my_own_describtion" => Array ( 
         "label" => "LLL:EXT:tx_my_extentsion/locallang_tca.php:tx_my_extension.phone

Die "types" definieren das Maskenlayout im BE, das ist RICHTIG!!
Ciao
Der DJ