0
我必须开发一个系统,它允许我根据用户连接来预览字段。例如,我们有3个Combobox。管理员可以看到并使用所有3个Combobox,而只有一个简单的用户2.我怎样才能在Webform上做到这一点? 谢谢如何根据用户交互显示一个web表单字段
我必须开发一个系统,它允许我根据用户连接来预览字段。例如,我们有3个Combobox。管理员可以看到并使用所有3个Combobox,而只有一个简单的用户2.我怎样才能在Webform上做到这一点? 谢谢如何根据用户交互显示一个web表单字段
更好的Drupal方法是使用Permission。
在你模块,声明如下:
/**
* Implements hook_permission
*/
function yourmodule_permission() {
return array(
'access combobox 1' => array(
'title' => t('Access combobox 1'),
'description' => t('Allow user to view combobox 1')
),
'access combobox 2' => array(
'title' => t('Access combobox 2'),
'description' => t('Allow user to view combobox 2'),
),
);
}
然后,在你的形式,用这个权限来显示你的组合框:
// Définition du composant du choix du schéma de base.
$form['combobox_1'] = array(
'#access' => user_access('access combobox 1'),
'#type' => 'select',
'#title' => 'yourtitle',
'#options' => array_keys(...),
);
$form['combobox_2'] = array(
'#access' => user_access('access combobox 2'),
'#type' => 'select',
'#title' => 'yourtitle',
'#options' => array_keys(...),
);
然后,只需要检查哪些用户角色在您的“/admin/people/permissions”页面中拥有此权限;)
是否有模块可以执行此操作? – JoeJoe
该功能由Drupal核心直接提供。你只需要写出正确的钩子;) –
谢谢@ M.Be,你能帮我做这个操作吗?我是Drupal的新手。 1.我已经将钩子模块插入到Webform模块中,将组合框更改为User Reference(因为我需要创建用户的选择选项)。 2.我在哪里输入第二个代码块? 谢谢soo – JoeJoe