А еще вопросик. В ноде тип показывается, а вот если перейти по ссылке какого-нибудь тега, в списке всех материалов тип пропадает. Как побороть? Помогите пожалуйста.
Ф-ция menu_get_object "ловит" объект ноды или юзера с урла, поэтому работает если урл ноды типа node/%node (даже если изменен модулем Path). Но, например, в шаблоне node.tpl.php вашей темы объект $node доступен всегда. Поэтому можете код
<?php
print (node_type_get_type($node)->name);
?>
перенести в шаблон node.tpl.php и он будет работать при любом отображении нод. В теме Бартик можно сделать, например, так:
<?php
// We hide the comments and links now so that we can render them later.
hide($content['comments']);
hide($content['links']);
print (node_type_get_type($node)->name); // Свой код
print render($content);
?>
Комментарии
Во views можно добавить выводимое поле типа материала
А как его в ноде вывести?
мот node_get_types()
Добавить вывод в node.tpl.php: http://api.drupal.org/api/drupal/modules--node--node.tpl.php
Ну, я так еще не делал, но вот что сейчас нашел здесь http://drupal.org/node/54059:
что-то не выходит
Используйте в теле ноды или блока
<?php
$node = menu_get_object('node');
if ($node) {
print (node_type_get_type($node)->name);
}
?>
или напрямую из бд
<?php
$query = db_select('node', 'n');
$query
->fields('n', array('type'))
->condition('nid', arg(1));
$query
->fields('nt', array('name'))
->innerJoin('node_type', 'nt', 'n.type = nt.type');
$result = $query->execute();
foreach ($result as $row) {
print ($row->name);
}
?>
Работает! ОГРОМНОЕ СПАСИБО!
А еще вопросик. В ноде тип показывается, а вот если перейти по ссылке какого-нибудь тега, в списке всех материалов тип пропадает. Как побороть? Помогите пожалуйста.
Ф-ция menu_get_object "ловит" объект ноды или юзера с урла, поэтому работает если урл ноды типа node/%node (даже если изменен модулем Path). Но, например, в шаблоне node.tpl.php вашей темы объект $node доступен всегда. Поэтому можете код
<?php
print (node_type_get_type($node)->name);
?>
перенести в шаблон node.tpl.php и он будет работать при любом отображении нод. В теме Бартик можно сделать, например, так:
<?php
// We hide the comments and links now so that we can render them later.
hide($content['comments']);
hide($content['links']);
print (node_type_get_type($node)->name); // Свой код
print render($content);
?>
$types = node_type_get_types();
$names = node_type_get_names();