Drupal: получение и печать имени узла (не типа)
У меня есть блок, созданный в модуле представлений, где я публикую последние комментарии, сделанные пользователем (например, пять последних комментариев для пользователя uid 1033). Я создал свой собственный файл TPL, чтобы я мог настроить, какие поля я хочу отображать, и это работает.
Он печатает первые 140 символов комментария и ссылается на узел с #cid позади него.
Но ниже я хочу показать, в каком типе узла он размещен. Я попытался с помощью этого кода:print $node->type;
но это - из-за причины - просто печатает тип узла, и он не особенно удобен для чтения человеком, так что мне нужно имя узла (из класса базы данных "node_type"), но я просто не могу понять, как это сделать.
Есть ли простой способ или мне нужно использовать какой-то настраиваемый запрос / вызов API?
3 ответа
Посмотрите на API-функцию node_get_types().
http://api.drupal.org/api/drupal/modules--node--node.module/function/node_get_types/6
Если вы не делаете что-то действительно неправильное, например, выполняете full node_load() каждого в вашем файле.tpl.php, вам нужно настроить свое представление для отображения типа узла. Шаблоны предназначены не для добавления дополнительных данных, а только для форматирования и компоновки их отображения.
Чтобы отобразить тип узла, к которому прикреплен комментарий, необходимо
- Добавить отношение к узлу
- Настройте стиль строки для использования стиля строк поля
- Добавьте Node: Type к отображаемым полям.