[TYPO3-german] Menüpunkt in bestehende Extension integrieren

Christian Wolff chris at connye.com
Wed Jun 6 20:46:10 CEST 2012


Hallo Björn,
bevor du wild in fremden extensions rum hackst!
ein paar hinweise es richtig zu machen. :)
so wie es von typo3 gedacht ist.

Auf gar keinen fall solltest du den quellcode fremder extensions
verändern. sonst verlierst du die möglichkeit updates der extensions zu
machen. und es macht dir viel arbeit.. weil du bei jedem update deinen
patch wieder einspielen must.

vieles läst sich über zusätzliche extensions lösen.
in deinem fall kannst du z.b eine eingene extension anlegen die das
nötige modul bereit stellt.
hierbei hilft dir der kickstarter [1] das wird auch beispielhaft im part
2 von modern template building tutorial angesprochen [2]

viele extensions bieten auch hooks[3] mit denen du dich einfach an
bestimmten stellen einklinken kannst um zusätzliche funktionen hinzzufügen.

für deine eigenen extensions solltest du immer einen extension key
registrieren [4]. hiermit wird sichergestellt das es keine zwei
extensions gibt die gleich heissen. falls es wirklich eine extension ist
die nie nie nie von allgemeinem intresse sein wird darf dein extension
key auch mit user_ beginnen. das is dann ein "privater" namensraum.

falls dir in einer extension etwas fehlt sprich zu erst mit dem
extension entwickler. vieleicht arbeitet er schon an genau dem feature
und du kannst ihn unterstützen (mach keine arbeit doppelt). oder er ist
bereit deine änderung einzubauen. biete ihm an den entsprechenden patch
vorzubereiten. so das er keine arbeit hat. wenn deine erweiterung in die
extension einfließt spart dir das die arbeit der pflege. vieleicht
brauchst du ja auch nur einen hook. dieser könnte später auch anderen
extension entwicklern helfen.


[1] http://typo3.org/extensions/repository/view/kickstarter
[2]
http://typo3.org/documentation/document-library/tutorials/doc_tut_templselect2/0.0.1/view/1/2/
[3]
http://typo3.org/documentation/article/how-to-use-existing-hooks-in-your-own-extension/
[4] http://typo3.org/extensions/extension-keys/

gruss chris






Am 06.06.2012 12:18, schrieb Björn Hahnefeld:
> Hallo Peter,
> 
> das ist eine sehr gute und ausführliche Erklärung von dir, die mir sehr weitergeholfen hat. Ich hatte zwar schon mal eine Extension dahingehend erweitert, doch nicht mehr genau gewusst, wie das funktionierte. Doch ich könnte den Quelltext übernehmen, denn nun weiß ich, an welcher Stelle ich was ändern muss. Vielen Dank, das du dir dafür so viel Zeit genommen hast!
> 
> Viele Grüße
> 
> Björn
> 
> -----Ursprüngliche Nachricht-----
> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Peter Linzenkirchner
> Gesendet: Mittwoch, 6. Juni 2012 09:57
> An: German TYPO3 Userlist
> Betreff: Re: [TYPO3-german] Menüpunkt in bestehende Extension integrieren
> 
> Hallo Björn, 
> 
> ich kann so langsam erahnen, von was du sprichst. Nämlich von einem Backend-Modul, nicht von einem Menü im Frontend, kann das sein? Heißt, du möchtest einen Eintrag in der linken Spalte im Backend in einer der vorhandenen Rubriken, z. B. web? Falls ja, musst du die Extension um ein Backend-Modul erweitern. 
> 
> Prinzipiell geht das so: 
> 
> die ext_tables.php um so was hier erweitern: 
> 
> if (TYPO3_MODE == 'BE')	{
> 	t3lib_extMgm::addModule('web','extensionname','',t3lib_extMgm::extPath($_EXTKEY).'mod1/');
> }
> 
> dann den Ordner mod1 anlegen. Da drin müssen aber eine Menge Dateien liegen, die ich dir hier nicht alle aufzählen kann. 
> 
> Geh deshalb so vor: 
> 
> Lege im Kickstarter eine neue Extension an, die so ähnlich heisst, wie die jetzige (evtl. myExt2 anstatt myExt). (Den Kickstarter musst du erst importieren). 
> 
> Dort erstelle ein Backend-Modul, damit wird die Struktur angelegt. Installiere die neue Extension und teste, ob das Backend-Modul auftaucht. Sollte ... 
> 
> Danach gehe manuell durch den Code und tausche alle myExt2 gegen das entsprechende Pendant der alten Extension (myExt). Deshalb der ähnliche Name, damit du genau siehst wo und in welcher Schreibweise - wichtig ist, wann Unterstriche da sind und wann nicht. Schau dir alle Dateien an. 
> 
> Danach kopiere den Ordner mod1 von der neuen in die alte Extension. 
> 
> Danach ergänze ext_tables.php der alten Extension um den Eintrag, den du in der neuen Extension findest (in etwa so wie oben ... nicht die Datei kopieren, in der alten Extension steht da viel mehr drin. Achtung: hier muss natürlich auch der Name angepasst werden. 
> 
> Danach gehe in ext_emconf.php der alten Extension und ergänze dort: 'module' = 'mod1'. 
> 
> Cache löschen und Backend neu aufrufen. Jetzt müsste das Modul angemeldet sein und in der alten Extension auftauchen. Das Modul ist allerdings leer, bis auf eine Dummy-Ausgabe. 
> 
> Weiter gehts in /mod1/index.php - hier musst du jetzt in PHP schreiben, was das Backend-Modul tun soll. Ab hier ist es reine PHP-Fußarbeit. 
> 
> Weitere Literatur / Links gibts unter dem Stichwort "Typo3 Backend Modul". 
> 
> Viele Grüße
> Peter
>  
> 
> PS: versuche bitte nicht, im Kickstarter die alte Extension zu öffnen und zu bearbeiten, danach ist die nämlich leer. 
> 
> PPS: Extension im Quellcode anzupassen ist nicht empfehlenswert, da man kein Update der Extension mehr durchführen kann. Wenn es ein Security-Problem gibt mußt du das dann selbst lösen, da du ja nicht updaten kannst. Ich mach es natürlich auch öfter, aber immer mit dem Problem im Hinterkopf - hier ist gute Dokumentation angesagt, sonst wundert sich man bei jedem Update wieder, warum es nicht mehr geht ...
> 
> 
> 
> 
> 
> Am 06.06.2012 um 09:00 schrieb Björn Hahnefeld:
> 
>> Guten Morgen Peter,
>>
>> ich habe eine bestehende Extension auf meine Bedürfnisse angepasst. Leider aber verfügt diese nicht über einen Menüpunkt. Deswegen möchte ich diesen gerne integrieren, damit ich z.B. über diesen zum SysFolder mit all den Datensätze gelange, um beispielsweise CSV-Dateien erzeugen zu können. In anderen Extensions habe ich einen mod1-Ordner gefunden. Dort scheint das offensichtlich festgelegt zu werden. Jedoch muss außerhalb auch noch ein Verweis erfolgen (meine ich).
>>
>> Viele Grüße
>>
>> Björn
>>
>> -----Ursprüngliche Nachricht-----
>> Von: typo3-german-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Peter Linzenkirchner
>> Gesendet: Dienstag, 5. Juni 2012 18:36
>> An: German TYPO3 Userlist
>> Betreff: Re: [TYPO3-german] Menüpunkt in bestehende Extension integrieren
>>
>> Hallo Björn, 
>>
>> ich fürchte, das wirst du etwas genauer erläutern müssen. 
>>
>> Viele Grüße
>> Peter 
>>
>>
>> Am 05.06.2012 um 18:03 schrieb Björn Hahnefeld:
>>
>>> Hallo zusammen,
>>>
>>>
>>>
>>> ich möchte in eine bestehende Extension einen Menüpunkt integrieren. Leider habe ich hierzu keine Infos gefunden. Hat jemand von euch eine Ahnung, wie das geht?
>>>
>>>
>>>
>>> Viele Grüße
>>>
>>>
>>>
>>> Björn
>>>
>>> _______________________________________________
>>> TYPO3-german mailing list
>>> TYPO3-german at lists.typo3.org
>>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>>
>> --
>> Xing: http://www.xing.com/profile/Peter_Linzenkirchner
>> Web: http://www.typo3-lisardo.de
>> Facebook: http://tinyurl.com/lisardo-multimedia
>>
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
>> _______________________________________________
>> TYPO3-german mailing list
>> TYPO3-german at lists.typo3.org
>> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 
> --
> Xing: http://www.xing.com/profile/Peter_Linzenkirchner
> Web: http://www.typo3-lisardo.de
> Facebook: http://tinyurl.com/lisardo-multimedia
> 
> _______________________________________________
> TYPO3-german mailing list
> TYPO3-german at lists.typo3.org
> http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
> 




More information about the TYPO3-german mailing list