CCK required fields Rollenabhängig
Eingetragen von miesel (148)
am 23.06.2008 - 14:59 Uhr in
am 23.06.2008 - 14:59 Uhr in
Hallo Drupaler,
gibt es eine Möglichkeit für CCK (in diesem Fall Node Profile) für bestimmte Rollen bzw. über CCK Conditional Fields "required fields" an und abzuschalten?
Oder muss ich sowas besser über "workflow fields" regeln.
Dankeschön für Antworten
- Anmelden oder Registrieren um Kommentare zu schreiben
Auch wenn es vlt.
am 23.06.2008 - 20:07 Uhr
Auch wenn es vlt. kompliziert klingt, ich würde es mit hook_form_alter lösen
ALSO
<?php
function hook_form_alter($form_id, &$form) {
global $user;
if ($form_id == 'page_node_form') {
$roles = $user->roles;
$roles = array_keys($roles);
// Wenn User Rolle 3 besitzt, dann ist das Feld nicht required
$required = in_array(3, $roles) ? false : true;
$form['field_blub']['#required'] = $required;
}
}
?>
Natürlicherweiße ließe sich auch ein einfaches Admininterface schreiben ...
---------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.deXING
Mit CCK Conditional Fields
am 23.06.2008 - 22:01 Uhr
Mit CCK Conditional Fields hat das erst mal eher weniger zu tun. Mit denen kann man über Options- oder Selektfelder einzelne Felder oder Feldgruppen Ein- und Ausblenden.
Wenn allerdings in der Logik des Nodeproflie Nodes solche Options- oder Selektfelder für Conditional Fields im Sinne des Profiles praktikabel sind - z. Bsp. "Bitte wählen Sie ihre (Rollen)Zugehörigkeit" - dann kann man mit Conditional Fields "required fields" ausblenden, aber nicht abschalten. Wenn man aber so will hat ein ausgeblendetes Feld den Status abgeschaltet.
Eine Weitere Möglichkeit bietet sich bei Feldern die keine Textfelder sind. Also alle Options- oder Selektfelder. Diese kann man mittels PHP-Code (in CCK) generieren. Im PHP-Code ist eine Rollen-Prüfung möglich.
-------------
quiptime
Nur tote Fische schwimmen mit dem Strom.
Da geht noch was.
Zitat: dann kann man mit
am 23.06.2008 - 23:29 Uhr
dann kann man mit Conditional Fields "required fields" ausblenden, aber nicht abschalten
das wusste ich schon ... ;)
Eine Weitere Möglichkeit bietet sich bei Feldern die keine Textfelder sind. Also alle Options- oder Selektfelder. Diese kann man mittels PHP-Code (in CCK) generieren. Im PHP-Code ist eine Rollen-Prüfung möglich.
... das ist natürlich interessant ... das hilft weiter ...
wenn ich dazu was habe melde ich mich
... close the world, open the next ...
--
Alex Misgin
www.misgin.com
--
... close the world, open the next ...
--
Alex Misgin
www.misgin.com
--