Mir geht es wahrscheinlich wie den meißten anderen:
Typo3.5 bietet verdammt viele Funktionen, und die Doku bietet kein Orientierung im Dschungel. Ich möchte z.Z. meine erste Extension schreiben, stehe aber vor einem Berg an Möglichkeiten 🙂
Ich bin gerne bereit die Info's die sich hier sammeln, zu einer Art Anleitung zusammen zu stellen.
Mein Problem:
Die Extension soll BE-Usern erlauben, einen Datensatz zu einer Seite hinzuzufügen, der dann im FE via template gerendert wird.
Ich dachte das macht ein FE-Plugin "Add as a totally new Content Element type", mit einer neuen Tabelle die die passenden Felder enthält und "allowed on pages" ist. Leider funzt das nicht (ich kann im BE die daten nicht eingeben).
Mir ist nicht klar, wann man "Add to 'Insert Plugin' list in Content Elements", oder "Add as a totally new Content Element type" etc. wählen sollte, und wie man das im Code nachträglich ändert (mit t3lib_extMgm?)
Und wann brauch ich ts setup-code? Auch die original plugins sind ein mischmasch aus verschiedenen methoden 🙁
Dave
Was funktioniert, aber für BE-user zu umständlich ist:
Ein FE-Plugin "Add to 'Insert Plugin' list in Content Elements" mit einer neuen Tabelle "Allowed on pages".
Nur müsste ich dann für jede Seite zum einen das Plugin einfügen (und das auch den Autoren erlauben), und dann noch die Datensätze anlegen.
Da jede Seite sowieso nur einen Datensatz enthalten wird und die niemals sortiert/archiviert sonstwas werden, ist das viel zu umständlich.
Wie macht man das the right way(c)???
Dave
fdj schriebWas funktioniert, aber für BE-user zu umständlich ist:
Ein FE-Plugin "Add to 'Insert Plugin' list in Content Elements" mit einer neuen Tabelle "Allowed on pages".
Nur müsste ich dann für jede Seite zum einen das Plugin einfügen (und das auch den Autoren erlauben), und dann noch die Datensätze anlegen.
Da jede Seite sowieso nur einen Datensatz enthalten wird und die niemals sortiert/archiviert sonstwas werden, ist das viel zu umständlich.
Wie macht man das the right way(c)???
Dave
Soll also heißen, du möchtest ein und das selbe PHP script vielen seiten einbinden?
Dann machste das am besten über TypoScript.
Du musst dazu einfach den TS code in die Datei ext_typoscript_setup.txt einfügen, und dann in deinem Seiten Template nachher einbinden.
Ein Beispiel:
Deine ext_typoscript_setup.txt sieht so aus:
plugin.meineextension >
plugin.meineextension = USER
plugin.meineextension.userFunc = tx_meineextension_pi1->meine_methode
dann schreibst du in dein Template zB:
page.23 < plugin.meineextension
Dazu brauchst du natürlich noch eine PHP-Datei, die dann den eigentlichen content renderd und returnt. Diese PHP-Datei muss in diesem Beisp. die Klasse tx_meineextension_pi1 enthalten, und eine Funktion (in der Klasse -> Methode) namens meine_methode.
got it?
Das erübrigt zumindest das Problem, dass ich das Plugin auf den entsprechenden Seiten einfügen muss (geht aber auch nur, wenn die Seiten alle gleichermassen in einer Ebenen liegen und ich entsprechend in der mutterseite anweisen kann, dass alle folgeseiten bitte das folgende template nehmen).
Nur den Inhalt/Datensatz muss der/die RedakteurIn immer noch mit Linksklick->Neu->Plugin auswählen anlegen.
Am liebsten hätte ich einen neuen Content-Typ. Das scheint aber nur mit der Tabelle tt_content zu gehen...
Was auch hilfreich wäre:
Jemand fragte auf der Typo Mailingliste, wie man die Anzeige der Datensätze im BE-Modul web->pages aktiviert, analog zu news, links und cal (standard: anzeige nur im BE Modul web->list). Es gab bisher keine antwort.
Ganz hübsch für den Einstieg:
Das FE-Plugin tutorial auf http://typo3.hachmeister.org/ (deutsch), die Tips auf http://martin.ringehahn.de/typo3.369.0.html und durchwühlen von tt_news 🙂