2017-01-24 8 views
1

Что является лучшим способом получить термины таксономии Drupal 8 и передать массив шаблону ветви?Drupal 8 термины таксономии списка

Теперь у меня есть:

В template.theme

function template_preprocess_page(&$variables) { 

    $variables['some_term'] = \Drupal::service('entity_type.manager')->getStorage("taxonomy_term")->loadTree('some_term', $parent = 0, $max_depth = NULL, $load_entities = FALSE); 

} 

Сейчас в page.html.twig я могу получить доступ {{}} some_term массив.

Я чувствую, что что-то не так. Каков наилучший способ достичь этого? Мне просто нужен массив выбранных терминов таксономии в page.html.twig. Я хочу использовать его для создания пользовательского HTML-кода.

Эквивалентная функция в Wordpress проста get_terms().

ответ

0

Ваш код выглядит нормально.

Пожалуйста, проверьте следующим:

  • Вы получаете массив значений таксономии дерева в template_preprocess_page?

    • Если не ($ переменных [ 'some_term'] не должна быть пустой массив) проверить, если вы загружаете правильный словарный запас с помощью "...-> loadTree ('machine_name_of_vocabulary' ..."

    • Если да, проверьте, какая ветка попадает на страницу.html.twig. Вы можете проверить: {{dump (some_term)}}. Вероятно, вам нужно будет обработать массив, чтобы получить только, например, список имен терминов.

  • Вы очистили кэш Drupal?