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

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

Аватар пользователя vlucas vlucas 5 декабря 2015 в 20:48

Доброго времени всем!
Цель: в стандартном представлении views taxonomy_term, которое заменяет вывод материалов в таксономии, сделать так, чтобы перед лентой самих материалов выводился сам термин, ну и все его поля, конечно же кроме заголовка - имя термина.

Поступаю так: Создаю шаблон вьюхи:


<?php
/**
 * file
 * Default simple view template to display a list of rows.
 *
 * ingroup views_templates
 */
?>
<?php 
if (!empty($title)): ?>
  <h3><?php print $title?></h3>
<?php endif; ?>
<?php 
foreach ($rows as $id => $row): ?>
  <div<?php if ($classes_array[$id]) { print ' class="' $classes_array[$id] .'"';  } ?>>
    <?php print $row?>
  </div>
<?php endforeach; ?>

Чтобы вывести термин, пишу код:


<?php
 $term 
taxonomy_term_load(arg(2));
 if (
$term) {  
  
$term taxonomy_term_view($term);
  print 
drupal_render($term);
 }
?>

Этот код вставляю в шаблон.

Всё работает как надо. теперь надо исключить название термина (чтобы не дублировать, т.к. заголовок страницы уже есть).

Первое что приходит в голову: перед рендером термина скрывать заголовок:

<?php
hide
($term['#term']->name);
?>

И вот тут есть одна загвоздка: если термин имеет название на русском - он скрывается, если на английском, то нет.... а вместо первого символа появляется цифра 1.

Если кто сталкивался с такой проблемой, напишите пожалуйста.
Либо если есть более удачное решение чтобы реализовать мою задачу.
Заранее спасибо

Комментарии

Аватар пользователя metasearch metasearch 13 ноября 2018 в 14:16

Два дня мучился над этой проблемой. Решил. Суть вот в чем. Название термина выводится потому, что это указано в шаблоне taxonomy-term.tpl.php. А этот файл шаблона участвует в рендеринге.
Т.е. чтобы не выводить название термина, нужно убрать этот кусок из файла шаблона:

А hide() использовать не нужно.
Автору поста спасибо за наводку.