Вывод модуля "Fivestar" в кастомном tpl.php для таксономии

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

Аватар пользователя Stamm Stamm 30 октября 2018 в 10:56

Здравствуйте!

Есть сайт на Drupal 7, появилась необходимость добавить рейтинг к страницам, являющимся терминами таксономии. Установил модуль Fivestar, настроил, теперь нужно вывести его на фронтэнд.

Разработчик создавал для страниц терминов отдельный шаблон. Пытаюсь вывести модуль в нём, нашел пример кода для этого:

<?php
$settings 
= array(
    
'content_type' => 'profile2',
    
'content_id' => $profileView->pid,
    
'entity' => $profileView,
    
'stars' => 5,
    
'field_name' => 'field_profile_rating',
    
'autosubmit' => TRUE,
    
'allow_clear' => FALSE,
    
'langcode' => 'und',
    
'text' => 'none'// options are none, average, smart, user, and dual
    
'tag' => 'vote',
    
'style' => 'average'// options are average, dual, smart, user
    
'widget' => array( 'name' => 'oxygen''css' => drupal_get_path('module''fivestar') . '/widgets/oxygen/oxygen.css' )
);

print 

render(drupal_get_form('fivestar_custom_widget'$profileView->field_profile_rating['und'][0], $settings));
?>

Пытаюсь допилить его для себя, но не имею достаточного опыта работы с Drupal и возникли вопросы

<?php
$term 
taxonomy_term_load(arg(2));
$settings = array(
    
'content_type' => 'taxonomy_term'// Видимо, тип материала. Для таксономий такое понятие существует?
    
'content_id' => arg(2), // arg(2) достаточно для передачи id материала?
    
'entity' => $term// Что сюда нужно передавать? В примере указан объект. 
    
'stars' => 5,
    
'field_name' => 'field_rating_term',
    
'autosubmit' => TRUE,
    
'allow_clear' => FALSE,
    
'langcode' => 'und',
    
'text' => 'average'// options are none, average, smart, user, and dual
    
'tag' => 'vote',
    
'style' => 'average'// options are average, dual, smart, user
    
'widget' => array( 'name' => 'basic''css' => drupal_get_path('module''fivestar') . '/widgets/basic/basic.css' )
);

print 

render(drupal_get_form('fivestar_custom_widget'$term->field_rating_term['und'][0], $settings));
?>

Вопросы:
1) 'content_type' – Какой тип материала указывается для термина?
2) 'content_id' – arg(2) достаточно для передачи id материала?
3) 'entity' – Что сюда нужно передавать? Объект текущего термина или название типа сущности ( 'term' )?

Или, может, я не в ту сторону копаю и есть другой метод вывода (находил еще пару, но они либо не работают, либо работают на Drupal 6)?

Комментарии

Аватар пользователя Stamm Stamm 30 октября 2018 в 13:44

Я пробовал стандартным способом, добавил новое поле к термину, поднял из "скрытых" в "управлении отображением", но ничего не появилось.