Am Tue, 10 Feb 2009 12:26:42 +0100 schrieb W.R.:

> Liebes Forum,
> 
> mein Ziel ist es, Datenbanktabellen, die ich im Kontext eigener
> Extensions mit dem Kickstarter erzeugt habe, mehrfach aber auf
> unterschiedliche Weise zu verwenden.
> 
> Beispiel: in der Tabelle t_sv sind alle Sportvereine mit
> Kommunikationsdaten (Adresse, Telefon und E-Mail) gelistet.
> 
> Auf der Seite Sportvereine-Kontakte soll die geballte Datenflut
> dargestellt werden.
> Ich habe also im Verzeichnis meiner Extension user_sv
> typo3conf/ext/user_sv/pi1/ in der Datei class.user_sv_pi1.php die
> main-Funktion in PHP  angepasst und hole alle Werte aus der DB.
> 
> Auf der Seite Sportvereine Übersicht sollen aus der gleichen Tabelle nur
> die Namen der Sportvereine geholt und dargestellt werden. Ich habe
> dieser Seite also ein Extension-Template spendiert und dort folgendes
> eingetragen:
> 
> plugin.user_sv_pi1{
>       ts_output = titel
> }
> 
> in der Datei class.user_sv_pi1.php reagiere ich auf diesen
> TypoScript-Parameter wie folgt:
> 
> if ($conf["ts_output"] != "titel"){
>       /* nur die Titel der Sportvereine abfragen */ $sql="SELECT 
bla ...";
> }
> 
> 
> Wenn ich nun eine Situation habe, in der ich die Tabelleninhalte auf
> zwanzig Seiten unterschiedlich darstellen möchte, muss ich diese
> Anpassungen zwanzig mal durchführen. Das kommt mir sehr umständlich,
> redundant und auch unübersichtlich vor.
> 
> Gibt es eine geschicktere Lösung die gespeicherten Datensätze mehrfach
> aber unterschiedlich zu nutzen ?

einerseits kann man durch ausnutzen des Speicherortes (verschiedene 
Seiten) schon mal Subauswahlen vorbereiten (zb. eine Seite mit 
Fußballvereinen, einen mit Handballvereinen, ...)
Bei der Anzeige kann man dann alle anzuzeigenden Gruppen zusammenfassen, 
ggfls. mit Hierarchie. '... WHERE pid in ('.$pageset.')'

das andere: wenn du nur bestimmte Felder anzeigen lassen möchtest 
solltest du HTML-Templates [1] nutzen.
dein Plugin sollte dafür dann ein Eingabefeld haben (Flexforms[2]) um bei 
jeder Nutzung ein individuelles Template auswählen zu können. Im Template 
benutzt du dann Platzhalter für deine Felder und je nachdem was angezeigt 
werden soll sind nur Platzhalter für diese Felder da. Deine Extension 
arbeitet aber jedes mal gleich.

[1] http://www.pi-phi.de/t3v4/html-templatesandmarkers.html
[2] http://www.pi-phi.de/t3v4/171.html
 
bernd
-- 
http://www.pi-phi.de/t3v4/cheatsheet.html
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.netfielders.de
http://lists.netfielders.de/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an