В целом с задачей справился, но выводит ошибку от которой надо избавиться, в этом и прошу помощи.
Итак:
1 - Есть описание терминов таксономии которые выводятся только на 1-ой странице с низу с помощью
<?php if (!isset($_GET['page'])) {
$category = taxonomy_term_load(arg(2));
echo "{$category->description}";}//вывели описание категории снизу ?>
2 - Соответственно сверху я убрал вывод этого же поля так
<?php
hide($page['content']['system_main']['term_heading']['term']['description']); //запретили вывод описания категории сверху
print render($page['content']); ?>
3 - Проблема заключается в том что этот код ругается так "Notice: Trying to get property of non-object в функции include()" на строчку echo "{$category->description}".
Я понимаю что описание термина таксономии есть не на каждой странице (например в нодах его нет)
4 - Задача
а) Как организовать проверку является ли текущая страница "Категорией".
или б) Как проверить есть ли на странице $category->description
в) Или же ваш вариант решения проблемы (Без создания отдельного падж для типа материала)
Комментарии
Говнокод - детектед!
В шаблонах - нет места логике!
Все можно сделать в препроцессоре страницы:
Например, в теме (template.php):
<?php
// Получааем объект термина
// Смотрим параметры страницы
// Указываем ID словаря категорий
// Бъем в бубен для прохождения проверки
/**
* Preprocess page.
*/
function MYTHEME_preprocess_page(&$variables) {
// Объявляем переменную с описанием термина
$vars['term_description'] = NULL;
$term = menu_get_object('taxonomy_term', 2);
$params = drupal_get_query_parameters();
$vid = 1;
if (isset($term) && $term->vid == $vid && !isset($params['page'])) {
$vars['term_description'] = $term->description;
}
}
?>
в шаблоне материала:
<?php if (isset($term_description)): ?>
<?php print $term_description; ?>
<?php endif; ?>