diff --git a/term_reference_tree.module b/term_reference_tree.module index ff9fbe203058c12fe73ee46172f0b6194c01171e..607ca15a42606a4f0477c719b363bad4d926c6ef 100644 --- a/term_reference_tree.module +++ b/term_reference_tree.module @@ -321,8 +321,6 @@ function _term_reference_tree_get_children($tid, $vid) { $table = 'taxonomy_term_field_data'; $alias = 't'; - $default_langcode = \Drupal::languageManager()->getDefaultLanguage()->getId(); - $query = \Drupal::database() ->select($table, $alias); $query->join('taxonomy_term__parent', 'p', 't.tid = p.entity_id'); @@ -337,18 +335,18 @@ function _term_reference_tree_get_children($tid, $vid) { ->orderBy('t.weight') ->orderBy('t.name'); + $interface_langcode = \Drupal::languageManager()->getCurrentLanguage()->getId(); if (\Drupal::moduleHandler()->moduleExists('locale')) { - $query->condition('t.langcode', [ - \Drupal::languageManager()->getCurrentLanguage()->getId(), - $default_langcode, - ], 'IN'); + $condition_group = $query->orConditionGroup(); + $condition_group->condition('t.langcode', $interface_langcode); + $condition_group->condition('t.default_langcode', 1); } - + $result = $query->execute(); $terms = []; while ($term = $result->fetchObject()) { - if (!isset($terms[$term->tid]) || $terms[$term->tid]->langcode === $default_langcode) { + if (!isset($terms[$term->tid]) || $term->langcode === $interface_langcode) { $terms[$term->tid] = $term; } } @@ -488,7 +486,7 @@ function _term_reference_tree_build_item($element, $term, $form_state, $value, $ else { $e = [ '#type' => 'checkbox_tree_label', - '#value' => $term->name, + '#value' => $term->name, ]; } @@ -580,7 +578,7 @@ function _term_reference_tree_get_parent($tid) { /** * Helper function to output a single level of the term reference tree display. - * + * * @throws \Drupal\Core\Entity\EntityMalformedException */ function _term_reference_tree_output_list_level(&$element, &$tree) { @@ -608,7 +606,7 @@ function _term_reference_tree_output_list_level(&$element, &$tree) { } $class = $item['selected'] ? 'selected' : 'unselected'; - + $tree_element['#items'][] = [ '#type' => 'link', '#title' => $term->label(),