Что такое node (нода)?

Что такое node

Наверно вас уже интересовал этот вопрос, когда вы смотрели на адресную строку браузера, где то и дело мелькало это слово "node".

Node - это основной класс "Drupal", нодами являются все материалы на сайте, все Записи в блог, все Page, все Story, да и все остальные материалы, которые мы создадим в следующих уроках.

Когда Вы заходите по ссылке имя_сайта/node/17, то Друпал понимает этот URL так:

node - класс, который нужно загрузить;

17 - номер объекта , который нужно загрузить.

Если в строку дописать edit, то есть имя_сайта/node/17/edit, тогда Друпал воспримет edit как действие, которое нужно совершить с node номер 17, а именно откроет окно редактирования ноды.

Как я говорил раньше node является базовым классом для других материалов. У каждого объекта node следующие атрибуты (свойства):

body - текст документа
changed - дата изменения в Unix-формате
comment - разрешено ли комментировать. Может быть три значения.
comment_count - количество комментариев. 
created - дата создания в Unix-формате.
data - было NULL
files - присоединённые файлы.
format - номер формата ввода, начиная с 1.
last_comment_name - наверное имя последнего (!) комментатора, но у меня было NULL
last_comment_timestamp - дата последнего комментария в формате Unix
log - было пустым. Не знаю что это такое.
moderate - это флаг о модерации. Если нода не требует модерации=0.
name - имя автора
nid - номер документа, в прошлом примере nid=17
path - относительный синоним пути ("content/stranica-s-latinskim-url")
picture - аватар пользователя.
promote - "На главной" - 1, иначе - 0
revision_timestamp - дата версии в Unix-формате
status - опубликован = 1, иначе =0
sticky - поверх остальных=1, иначе=0
taxonomy - родители ноды. Т.е. таксономические родители. Про таксономию и ее использование мы поговорим позже.
teaser - аннотация (тизер), сокращение от тела ноды, то есть от body.
title - заголовок документа
type - тип материала
uid - номер автора
vid - это version id. Т.е. версия ноды. Не всегда совпадает с nid.

Все свойства каждой ноды хранятся в базе данных и если происходит запрос к какой-либо ноде, то эти данные выводятся через Друпал. О том как выводить из базы данных ноды (Записи в блоге, Page) через модуль Views, также создадим через модуль CCK еще один тип материала "Сотрудник".

Комментарии

Добавить комментарий

Войти, используя Loginza Google Account Yandex Mail.ru Vkontakte Facebook

Plain text

  • HTML-теги не обрабатываются и показываются как обычный текст
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Строки и параграфы переносятся автоматически.

Добрый день, Илья.Спасибо за

Добрый день, Илья.

Спасибо за интересные уроки, они существенно дополняют и расширяют информацию из других источников, особенно, когда пользователь — неофит ), однако возникает ряд непонятных моментов при повторении уроков на drupal 7.
Часто возникают ошибки доступа к переменным при интерпретации php-кода,  например, в уроке 12-1, где Вы реализуете доступ к полям ноды через вызов функции print_r,  конструкция вида <?php print_r($node) ?>   приводит к ошибке, т.к. переменная $node якобы не определена в этом контексте. Аналогичные ошибки доступа к переменным возникают и при попытке написания сниппетов, т.е. переменные в контексте страницы не видны, т.е. не определены? 
В случае снипета удалось решить проблему через вызов функции  menu_get_object():

<?php $node = menu_get_object();  print_r($node->name); ?>  
 
но как быть в случае с Вашим примером, в шаблоне темы page.tpl.php или при попытке обращения к полю ноды, чтобы изменить значение, например, при вставке кода прямо в текст материала?