如何根据用户交互显示网络表单字段

时间:2016-10-03 13:36:00

标签: drupal-7 drupal-webform

我必须开发一个系统,允许我根据用户连接来预览字段。例如,我们有3个Combobox。管理员可以查看和使用所有3个Combobox,而仅使用简单的一个用户2.如何在Webform上执行此操作? 谢谢

1 个答案:

答案 0 :(得分:1)

更好的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 ”页面中检查哪个用户角色具有此权限;)