В декабре рассказывал о том, как распихать поля, отображаемые в нодах, по красивым вкладкам с помощью модуля Field Group. В одной из вкладок были, в частности, размещены комментарии к ноде и форма добавления новых комментариев.
А теперь возникла нужда управлять заголовком вкладки, в зависимости от наличия комментариев к ноде. Делается это так:
/**
* Implements hook_field_group_pre_render_alter().
*
* @param Array $elements by address.
* @param Object $group The Field group info.
*/
function mymodule_field_group_pre_render_alter(& $element, $group, & $form) {
if ($element['#title'] == 'Comments') {
$node = $element['comments']['#node'];
if ($node->comment_count == 0) {
$element['#title'] = t('Be first to leave a comment!');
} else {
$element['#title'] = t('Comments (!count)', array('!count' => $node->comment_count));
}
}
}
Аналогичным образом можно управлять заголовками любых других вкладок или иных видов групп полей Field Group.
Решение, кстати, дополнительно ценно тем, что благодаря великолепной документированности opensource-проектов потратил на написание этих десяти строчек — несколько часов.