Zugriff einschränken auf gewisse Formularelemente
Eingetragen von DiJae (154)
am 25.06.2007 - 11:01 Uhr in
am 25.06.2007 - 11:01 Uhr in
Ich erweitere gerade diverse Inhaltstypen um ein weiteres Feld. Nun würde ich gerne dieses Feld nur für gewisse Gruppen anzeigen lassen, nicht für alle User. Ist es möglich, den Zugriff auf Formularelemente auch über Rollen zu regeln?
- Anmelden oder Registrieren um Kommentare zu schreiben
Hallo. Beschäftige mich
am 25.06.2007 - 11:45 Uhr
Hallo.
Beschäftige mich auch seit einiger Zeit mit Drupal.
Als Lösung würde ich sagen du legst halt 2 Content-Typen an. Eine mit den Feldern und den andern halt ohne diese Felder.
Dann musst du nur noch unter Benutzereinstellungen->Zugriffskontrolle die Zugriffe ändern. Das heisst z.B. die Rolle "anonymous user" darf "create mein_content_2" erstellen und die Rolle "authenticate user" darf nur "create mein_content_1" erstellen.
Gruß Oliver
Hab die Lösung
am 25.06.2007 - 12:26 Uhr
Hallo,
danke für Deinen Rat. Das wäre eine unsaubere Lösung. Ich habe über hook_form_alter ja schon das Formular für nodes erweitert und dann in der Form-API noch das Attribut gefunden, welches den Zugriff beschränken kann: #access. :-) Bei Bedarf kann ich ja einmal das Codestück posten.
Ja das würde mich mal
am 26.06.2007 - 08:28 Uhr
Ja das würde mich mal interessieren wie du das gemacht hast. Also wär ganz nett wenns noch mal gepostet wird. Dann kann ich meine Lösung verwerfen und deine nehmen. ;-)
Gruß Oliver
hook_form_alter
am 26.06.2007 - 09:10 Uhr
Ja das würde mich mal interessieren wie du das gemacht hast. Also wär ganz nett wenns noch mal gepostet wird. Dann kann ich meine Lösung verwerfen und deine nehmen. ;-)
Gruß Oliver
Hallo,
ich schreibe gerade ein Modul, welches es erlaubt, Bildergalerien, die man mit dem Image Gallery Modul erstellt hat, als Thumbnail-Gallerien an beliebige Nodes zu hängen. Ist noch nicht fertig, also der Quellcode stellt im Moment noch Baustelle dar. Aber kannst ja einmal reingucken:
/**
* Implementation of hook_perm -> 'Attach Galleries' bei den Rechten setzen
*/
function gallery_attach_perm() {
return array('attach galleries');
}
/**
* Implementation of hook_form_alter -> Das Formular bei Story Nodes um ein Dropdown-Menü mit den angelegten Bildergalerien erweitern
*/
function gallery_attach_form_alter($form_id, &$form){
// galleries may only be attached to certain node forms
$array_of_form_ids = array('story_node_form');
if(in_array($form_id,$array_of_form_ids)){
// selectlist of image galleries
$tree = taxonomy_get_tree(_image_gallery_get_vid());
$options[0] = '';
if($tree){
foreach($tree as $term){
$options[$term->tid] = $term->name;
}
}
// new form element
$form['gallery_attach_galleries'] = array(
'#type' => 'select',
'#title' => t('Attach gallery'),
'#default_value' => '',
'#options' => $options,
'#description' => t('Please choose an image gallery to be attached.'),
'#access' => user_access('attach galleries'),
'#weight' => -1
);
$form['#submit']['gallery_attach_submit'] = array();
}
}
DiJae wrote: Ich erweitere
am 26.06.2007 - 10:03 Uhr
Ich erweitere gerade diverse Inhaltstypen um ein weiteres Feld. Nun würde ich gerne dieses Feld nur für gewisse Gruppen anzeigen lassen, nicht für alle User. Ist es möglich, den Zugriff auf Formularelemente auch über Rollen zu regeln?
Testet auch mal dieses Modul: http://drupal.org/project/cck_field_perms
--
bv - drupalcenter.de
bv wrote: DiJae wrote: Ich
am 26.06.2007 - 12:08 Uhr
Ich erweitere gerade diverse Inhaltstypen um ein weiteres Feld. Nun würde ich gerne dieses Feld nur für gewisse Gruppen anzeigen lassen, nicht für alle User. Ist es möglich, den Zugriff auf Formularelemente auch über Rollen zu regeln?
Testet auch mal dieses Modul: http://drupal.org/project/cck_field_perms
--
bv - drupalcenter.de
Auch gut. Danke. Kann man bestimmt noch einmal gebrauchen.