Как пересобрать фильтр Better Exposed Filters чтоб он в списке выбора показывал только термины доступные авторизованному пользователю?

Главные вкладки

Аватар пользователя Sadchenko Sadchenko 20 февраля 2022 в 14:31

Ребята привет! Пытаюсь решить такую задачу...
У меня в каждом термине таксономии есть дополнительное поле "связь с пользователем". В каждом термине выбран разный конкретный пользователь.
Есть вьюха по которой выводятся материалы с этой таксономией.
И в ней фильтр BEF по этим терминам. Но он показывает пользователю в списке выбора термина сразу все термины. А мне нужно чтоб он показывал только те термины, в которые выбран этот конкретный пользователь.

Сам PHP код для формирования списка выбора примерно вижу:

<?php
global $user;

$terms db_query("SELECT tid, name, (SELECT COUNT(*) 
FROM {taxonomy_index} ti LEFT JOIN {node} n ON ti.nid = n.nid 
WHERE ti.tid = td.tid AND n.status = 1) node_count
FROM {taxonomy_term_data} td WHERE vid = :vid ORDER BY weight"
, array(':vid' => 1));
foreach (
$terms as $term) {
    
$termload taxonomy_term_load($term->tid);
    
$termid render($termload->field_term_user_id['und'][0]['uid']);
    if(
$term_user_id == $user->uid) { //делаем список только из тех что доступны пользователю
             
$items[] = '<option value="'.$term->tid.'">'.$term->name.'</option>';
    }
}
?>

А как этот код внедрить в фильтр BEF не знаю. Подскажите кто нибудь как переписать обработку фильтра?

Комментарии

Аватар пользователя Sadchenko Sadchenko 20 февраля 2022 в 18:32

попробовал выдает ошибку

Selective query filter must have corresponding field added to view with Administrative Name set to "Магазин (field_shop) (selective)" and Base Type "field_shop"

а в насйтроке
Display field
Field to be used for the selective options. https://prnt.sc/IWrS6aMO_m8u
вообще пусто