在 Drupal 中隐藏 select

Hide select in Drupal

我向我的用户实体和另一个实体 (Activity) 添加了一个 语言 自定义字段(分类术语)。

此字段可以有 2 个值,英语和法语。 (用户可以同时拥有,activity只能拥有一个)

在“活动”视图中,我添加了一个公开的过滤器 (select),以便用户可以过滤法语或英语活动。

结果:

如果用户只有 1 种语言,我想隐藏(或禁用)此 select。

如何正确实现这一点?我尝试了 pre_render 钩子,但我想我找不到合适的钩子。

谢谢。

你应该试试这个钩子:

function themename_form_alter(&$form, FormStateInterface $form_state, $form_id) {
    if (in_array($form_id, ['views_exposed_form'])) {
        if ($form['#id'] == "views-exposed-form-custom-search-page-1") {  // your form id
            // your filter logic and return filter form value like
            // $form["langugae"]["#options"] = $options;
        }
    }
}