[TYPO3-german] Best Practice Extbase/Fluid: Wie eigene Viewhelper in eine fremde Extension integrieren?

Stephan Schuler Stephan.Schuler at netlogix.de
Tue Jul 8 10:38:04 CEST 2014


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.Schuler at 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: info at 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-bounces at lists.typo3.org [mailto:typo3-german-bounces at lists.typo3.org] Im Auftrag von Stefan Padberg
Gesendet: Dienstag, 8. Juli 2014 08:01
An: typo3-german at 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 at lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german


More information about the TYPO3-german mailing list