首页 > 解决方案 > 在 Drupal 中隐藏选择

问题描述

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

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

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

在此处输入图像描述

结果 :

在此处输入图像描述

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

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

谢谢你。

标签: phpdrupaldrupal-8drupal-viewslms

解决方案


你应该试试这个钩子:

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;
        }
    }
}

推荐阅读