[TYPO3-german] fe_user Einzelnansicht, Auswahl (DROPDOWN-Menu) der User über FE-Plugin
Bernd Wilke
xoonsji02 at sneakemail.com
Thu Aug 31 01:17:22 CEST 2006
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
--
----------------
Bernd Wilke
Annweilerstr.20
40229 Düsseldorf
0211/229 2800
More information about the TYPO3-german
mailing list