Benutzereinstellungen einschränken

am 11.01.2009 - 12:00 Uhr in
Moin!
Ich möchte gerne die "Bearbeiten" Seite meiner Benutzer einschränken. Dort gibt es Funktionen mit denen meine Benutzer möglicherweise nichts anfangen können, oder die Sie auch gar nicht benutzen sollen. Eigentlich soll nur "Kontoinformationen" stehen bleiben, also die Funktion seine E-Mail Adresse und sein Passwort zu ändern.
Die Gruppen Spracheinstellungen, Einstellungen für Kommentare, Kontakt-Einstellungen und Regionaleinstellungen möchte ich gerne ausblenden. Habe mir überlegt das einfach mit display:none in meiner style.css zu machen. So habe ich beispielsweise auch den Vorschau-Button "entfernt":
#edit-preview {
display:none;
}
Ist das der richtige Weg? Wenn ja, wie lauten die Bezeichnungen für die oben genannten Einstellungen?
Viele Grüße
towelie
- Anmelden oder Registrieren um Kommentare zu schreiben
Ich würde mir ein
am 11.01.2009 - 12:14 Uhr
Ich würde mir ein Mini-Modul schreiben, wie hier beschrieben:
http://www.drupalcenter.de/handbuch/4698
Das sieht schon mal sehr gut
am 11.01.2009 - 12:46 Uhr
Das sieht schon mal sehr gut aus: http://www.drupalcenter.de/handbuch/6795
Leider bin ich mit eigenen Modulen noch nicht vertraut, aber das wäre jetzt ja bald der richtige Schritt dahin ;)
Mithilfe der CSS-Datei oder mit dem Template kann ich es nicht ausblenden?
Doch, kannst du auch
am 11.01.2009 - 13:38 Uhr
Doch, kannst du auch machen... Wie du oben ja selbst beschrieben hast,
musst du dir aus dem Quelltext die richtigen Bezeichner raussuchen.
Firebug benutzt du schon? Sonst schnell besorgen...
Du hattest ja nach dem "richtigen Weg" gefragt. Der ist letzten Endes wahrscheinlich Geschmacksache, ich würde ein Mini-Modul vorziehen.
Leider konnte ich die
am 12.01.2009 - 09:26 Uhr
So, habe mir nun ein Mini-Modul aus diversen Codeschnipseln zusammengebastelt. Sieht folgendermaßen aus:
<?php
/**
* Implementation of hook_form_user_edit_alter().
*/
function usereditlite_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'user_profile_form')
unset($form['contact']); // Kein Kontaktformular
unset($form['locale']); // Keine Spracheinstellungen
}
?>
Somit habe ich erfolgreich das Kontaktformular und die Spracheinstellungen verbannen können.
Durch hinzufügen von:
unset($form['comment_settings']); // Keine Signatur
unset($form['timezone']); // Keine Regionaleinstellungen
sollte der Rest in der Bearbeitenseite auch noch verschwinden. Beim Signaturformular tut sich allerdings nichts und bei unset timezone wirft er mir folgende Fehlermeldung zurück:
warning: array_key_exists() [function.array-key-exists]: The second argument should be either an array or an object in /.../modules/contrib/date/date_timezone/date_timezone.module on line 144.
Hat jemand Vorschläge?
Gruß
towelie
Für die timezone kannst du
am 12.01.2009 - 09:56 Uhr
Für die timezone kannst du hier: admin/settings/date-time
Benutzerrechte deaktivieren
Signatur deaktivierst du
am 12.01.2009 - 10:00 Uhr
Signatur deaktivierst du hier: admin/user/settings
Danke, die
am 12.01.2009 - 23:16 Uhr
Danke, die Regionaleinstellungen bin ich nun damit auch los! Die Signatur konnte ich nicht entfernen, aber das ist nicht weiter schlimm.
Unset locale und contact musste ich in zwei Module aufteilen, da es sonst komischerweise Probleme mit dem Date Modul bereitete. Also (jetzt auch "offiziell" für alle):
<?php
/**
* Implementation of hook_form_user_edit_alter().
*/
function noeditlocale_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'user_profile_form')
unset($form['locale']); // Keine Spracheinstellungen
}
?>
und
<?php
/**
* Implementation of hook_form_user_edit_alter().
*/
function noeditcontact_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'user_profile_form')
unset($form['contact']); // Kein Kontaktformular
}
?>
Gruß
towelie
Der Thread ist zwar schon
am 28.08.2010 - 12:26 Uhr
Der Thread ist zwar schon älter, aber die Änderungen lassen sich auch ohne Programmieren via Optionen im Backend umsetzen:
Sprachenauswahl deaktivieren in
/admin/settings/language
und Datum und Uhrzeit in
/admin/settings/date-time
am 10.11.2010 - 02:50 Uhr
Komisch, habe in mein Mini-Mod timezone und locale eingefügt, bei mir treten keine Fehlermeldungen auf...
Module sind standardmäßig an, keine Ahnung wie sich das Modul verhält, wenn timezone und locale woanders deaktiviert wurden, müsste ggf. ein check rein.
Bei meinen Mini-Mod können auch die Berechtigungen gesetzt werde, welche Gruppe die einzelnen "Beschränkungen" bekommen sollen.