Скрыть выбор в Drupal

Я добавил настраиваемое поле Language ( термин таксономии ) в свой объект пользователя и другой объект (Activity).

Это поле может иметь 2 значения: английский и французский. (Пользователь может иметь оба, активность может иметь только один)

В представлении «Действия» я добавил открытый фильтр (выбрать), чтобы пользователь мог фильтровать действия на французском или английском языках.

введите здесь описание изображения

Результат :

введите здесь описание изображения

Я хочу скрыть (или отключить) этот выбор, если у пользователя есть только 1 язык.

Как правильно этого добиться? я попробовал хуки pre_render, но я не могу найти правильный, я думаю.

Спасибо.


person Mohamed Amine Bouhadjar    schedule 31.05.2021    source источник
comment
Пожалуйста, покажите свой текущий код, чтобы показать выбор и то, как вы получаете список языков для пользователя. Основываясь на этой информации, мы можем помочь   -  person Andrea Olivato    schedule 31.05.2021
comment
Привет, я не делал этого с помощью кода, я использовал интерфейс представлений. Я отредактировал свой ответ со скриншотом добавленного фильтра.   -  person Mohamed Amine Bouhadjar    schedule 31.05.2021


Ответы (1)


вы должны попробовать этот крючок:

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;
        }
    }
}
person theresaholder    schedule 31.05.2021
comment
Подскажите, пожалуйста, как это реализовать? Я новичок в drupal и не знаю в какой файл писать. - person Mohamed Amine Bouhadjar; 31.05.2021
comment
вы должны написать этот хук в файле themename.theme в вашей активной папке темы - person theresaholder; 31.05.2021