Ребята привет! Пытаюсь решить такую задачу...
У меня в каждом термине таксономии есть дополнительное поле "связь с пользователем". В каждом термине выбран разный конкретный пользователь.
Есть вьюха по которой выводятся материалы с этой таксономией.
И в ней фильтр 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 не знаю. Подскажите кто нибудь как переписать обработку фильтра?
Комментарии
Под 7ку еще views_selective_filters не?
попробовал выдает ошибку
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
вообще пусто
Разобрался все таки через хук. но за обратку все равно спасибо)
Пожалуйста. Но модуль рабочий.