Drupal показываем родителя в раскрытом фильтре по словарю таксономии
Сегодня как обычно нужно было реализовать ранее не отточенное на практике. В расскрытом фильтре городов и регионов, при поиске отображать регион в который вложен город.
К сожалению расскрытые фильтры в таксономии не предоставляют возможности отслеживать иерархию вложенности, но обозначают вложенные термины в родительские при помощи символа "-" чем мы с вами и воспользуемся для выполнения нашей задачи.
Создадим кастомный модуль и добавим туда следующее содержимое. Далее как обычно чистим кэш и наслаждаемся результатом.
function MYMODULE_form_views_exposed_form_alter(&$form, &$form_state, $form_id) {
$parent = '';
$options = $form['tid']['#options'];
foreach ($options as $index => $option) {
if (is_object($option)) {
$label = reset($option->option);
$key = key($option->option);
if (substr($label, 0, 1) != '-') {
$parent = $label;
}
else {
$options[$index]->option[$key] = $options[$index]->option[$key] . " ($parent)";
}
}
}
}