Hi Stefan.

Nimm dafür bitte eine Extension.
Minimalanforderung dürfte die ext_emconf.php und eben der ViewHelper im 
passenden Verzeichnis sein, der Aufwand hält sich also in Grenzen.

Allerdings musst du ja auch TypoScript schreiben das templateRootPath, 
partialRootPath und layoutRootPath umbiegt, musst deine eigenen 
Fluid-HTML-Files irgend wo unterbringen können und ggf. JavaScript, CSS und 
Bilder speichern.
Dafür bietet sich eine Extension an.

Je nach Projektgröße und Extensiongröße nennen wir unsere Extensions zunächst 
mal "{$kunde}site" und fangen da an, zum Beispiel "EXT:staedtlersite". 
ViewHelper die global überall verwendet werden sowie HTML, CSS, JavaScript, CSS 
und Bilder sind da gut aufgehoben. Ebenso sämtliches TypoScript.

Sobald wir dann anfangen, Models zu erweitern oder vielleicht sogar einzelne 
Funktionen in Controllern nachzubauen kommt eine "{$kunde}{$quellextension}" 
dazu, zum Beispiel "EXT:staedtlernews". Wobei die Trennung schwierig ist. 
Einerseits möchte man bei großen Funktionsblöcken gerne alles zugehörige in 
einer Extension haben. Andererseits aber müssen gerade SCSS und Bilder 
möglichst aller Komponenten möglichst beisammen liegen, damit man nicht ständig 
IDE und CSS-Compiler umkonfiguriert.

Wir haben uns deshalb intern auf folgende Trennung geeinigt:

Site-Extension:
* "Kleinkram", also einzelne Hooks mit 5 Zeilen oder wofür eine einzelne 
Extension einfach Overkill wäre
* Großteil des TypoScripts
* Insbesondere jegliche TypoScript-Constants
* Jegliches CSS
* Jegliches JS
* Alle Bilder
* HTML des Seitenlayouts, wahlweise Templavoila oder Fluidtemplates für 
Gridelement-basierte Templateview-Sourcen
* Dazu gehören natürlich auch FCEs oder Grid-Container

Extension-Erweiterungen:
* Alles was mit "Model" zu tun hat.
** PHP-Model
** TCA-Erweiterung
** TypoScript für die Persistence
** ext_tables.sql
* Weiteres PHP, also z.B. ViewHelper oder angepasste Controller
* Wenn ohnehin schon TypoScript für die Persistence da ist dann auch weiteres 
TypoScript um die Extension zu konfigurieren
* Auf keinen Fall TypoScript-Constants, die gehören in die Site-Extension.


Gruß,


Stephan Schuler
Web-Entwickler

Telefon: +49 (911) 539909 - 0
E-Mail: stephan.schu...@netlogix.de
Website: media.netlogix.de






--
netlogix GmbH & Co. KG
IT-Services | IT-Training | Media
Neuwieder Straße 10 | 90411 Nürnberg
Telefon: +49 (911) 539909 - 0 | Fax: +49 (911) 539909 - 99
E-Mail: i...@netlogix.de | Internet: http://www.netlogix.de

netlogix GmbH & Co. KG ist eingetragen am Amtsgericht Nürnberg (HRA 13338)
Persönlich haftende Gesellschafterin: netlogix Verwaltungs GmbH (HRB 20634)
Umsatzsteuer-Identifikationsnummer: DE 233472254
Geschäftsführer: Stefan Buchta, Matthias Schmidt



-----Ursprüngliche Nachricht-----
Von: typo3-german-boun...@lists.typo3.org 
[mailto:typo3-german-boun...@lists.typo3.org] Im Auftrag von Stefan Padberg
Gesendet: Dienstag, 8. Juli 2014 08:01
An: typo3-german@lists.typo3.org
Betreff: [TYPO3-german] Best Practice Extbase/Fluid: Wie eigene Viewhelper in 
eine fremde Extension integrieren?

Hallo,

ich benötige für eine fremde Extension einen eigenen Viewhelper. Muss ich dafür 
eine eigene Extension erstellen? Oder gibt es einen updatefesten Weg, eigene 
Viewhelper irgendwie "dazu zu konfigurieren"?

Den Viewhelper ins Verzeichnis "Classes\Viewhelper" zu patchen, ist ja nicht 
besonders updatefest. Aber eigentlich gehört er dahin, finde ich.

Eine eigene Extension zu erstellen, scheint mir etwas viel Aufwand zu sein. Was 
müsste sie denn minimal enthalten? Gibt es eine Muster-Extension für diesen 
Fall, die man kopieren kann?

Wie ist's gedacht, werte Extbase/Fluid-Experten?

Beste Grüße
Stefan Padberg



_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an