[TYPO3-german] Re: fe_user Einzelnansicht, Auswahl (DROPDOWN-Menu) der User über FE-Plugin

denis denisschulz at gmx.net
Thu Aug 31 09:37:24 CEST 2006


Bernd Wilke schrieb:
> On Wed, 30 Aug 2006 20:13:25 +0200, denis wrote
> with subject "[TYPO3-german] fe_user Einzelnansicht, Auswahl
> (DROPDOWN-Menu) der User über FE-Plugin":
> 
>> Hallo Liste,
>>
>> ich habe über 50 FE-User, die keinen Zugriff haben. Über Plugin 
>> Benutzerliste, sind alle Benutzer aufgelistet sind. Ausserdem möchte ich 
>> , dass man einzelne Benutzer (z.B.: Herr Müller) erscheint in der Rechte 
>> Spalte mit Parametern:Name,Vorname,Fon,Fax.
>>
>> Nun möchte ich eine Ext. schreiben (FE-Plugin), in diesem Plugin möchte 
>> ich eine Dropdown-menü haben, wo ich EINEN Benutzer auswählen kann.
>>
>> Habe schon versucht Relation zu Tabelle fe_user, klappt, aber nur im 
>> Backend. Ich möchte aber, dass das über Plugin geht....
>>
>> Ist das möglich? Hat jemand schon Erfahrungen mit DropDown-Menü, wie man 
>> das machen kann?
> 
> diverse möglichkeiten:
> 
> DHTML:
> 
> im plugin wird jede menge javascript erstellt:
> 
> <script type="text/javascript">
> <!--
> //eine Liste mit allen möglichen Daten
> var ul = new Array();
> ul[1]=Array('name1','vorname1','fon1','fax1');
> ul[2]=Array('name2','vorname2','fon2','fax2');
>  :
> ul[99]=Array('name99','vorname99','fon99','fax99');
> 
> // eine function um die Daten in die Seite zu setzen:
> function changedata(id) {
>     if (ul[id]) {
>         adr=document.getElementById("adresse");
>         if (adr) {
>             adr.innerHTML="<br><b>"+ul[id][1]+" "+ul[id][0] + "</b><br>"
>                          +"Fon:"+ul[id][2]+"<br>"
> 	                 +"Fax:"+ul[id][3];
>         }
>     }
> }
> //-->
> </script>
> 
> <!--und natürlich die Auswahl in fForm eines HTML-SELECT :-->
> <select onchange="changedata(this.options[this.selectedIndex].value)"
> name="userauswahl">
> <option value="1">name1</option>
> <option value="2">name2</option>
>   :
> <option value="99">name99</option>
> </select>
> 
> 
> <!-- irgendwo gibt es das dazugehörige div, in das die Daten geschrieben
> werden: -->
> <div id="adresse"></div>
> 
> Vorteil: 
> + kein erneuter Seitenaufruf, also auch sehr schnell
> Nachteil: 
> - läuft nur, wenn Javascript aktiv ist.
> - bei vielen Daten wird der HTML-Quelltext der Seite seeehr lang
> - alle Daten sind im HTML-Quelltextes auslesbar
> 
> 
> oder aber ein Formular mit Seitenneuaufruf im Plugin:
> (nicht ganz so konkret)
> 
> $select_fields='uid,name,vorname, ...';
> $from_table='fe_users';
> $where_clause='';
> $groupBy='';
> $orderBy='';
> $limit='';
> $allusers=$GLOBALS['TYPO3_DB']->exec_SELECTgetRows( $select_fields
> 				        , $from_table
> 				        , $where_clause
> 
> .$this->cObj->enableFields($from_table)
> 				        , $groupBy
> 				        , $orderBy
> 				        , $limit
> 				        );
> 
> $seluser=$this->GPVar('userid'); // GET- _oder_ POST-Param (s.u.)
> if ($seluser) {
> 	$content='sie wollten folgende infos haben:<br />'
>                 .$allusers[$seluser]['name'].' '
> 		.$allusers[$seluser]['vorname'].'<br />'
> 			:
> 			:
> } else {
> 	$content='<form
> action="'.$this->pi_getPageLink($GLOBALS['TSFE']->page['uid'])
> method="POST">' // POST-Param
>                 .'<select name="'.$this->prefixId.'[userid]>';
> 
> 	foreach($allusers as $user) {
> 		$content.='<option value="'.$user['uid'].'">'
>                           .$user['name']
>                           .'</option>';
>         }
> 	$content.='<input type="submit" value="los">'
>                  .'</form>';
> }
> 
> return $content;
> 
> Vorteil dieser Methode: 
> + du kannst eine Seite mit den Daten eines Users auch direkt 'anspringen'
> (GET-Param): index.php?id=123&tx_pluginname_pi1[userid]=23
> + datenschutz: nur eine Adresse im HTML-Quelltext auslesbar.
> + kaum mehr Aufwand bei mehr Usern
> 
> 
> 
> 
> viel spaß
> Bernd

Vielen, vielen Dank DIR Bernd,

ich bleibe vielleicht bei der 2.Lösung, weil ich will, dass die User 
dynamisch ausgegeben werden. Habe im Buch gelesen, dass so was über 
Flexform geht, kannst du mir bitte nähre Infos geben, wo ich über 
Flexform in die Tiefe greifen kann? Bzw. wie mache ich 
FE-plugin-Flexform Formular?

viel Text? Sorry. :-)

Grüße, Denis



More information about the TYPO3-german mailing list