Я не уверен, что вы имеете в виду, когда говорите «как вариант рядом с правкой», но загруженный вами код (и перепроверка самой книги, использованный код) не вызовет этого.Фактически, вы должны просто видеть поле под полем тела, когда вы редактируете узел с включенными аннотациями:
Причина, по которой оно появляется только при редактировании существующего узла (а не когда вы создаете новый узел) связан с вашим первым вопросом о том, что он не позволяет всем пользователям аннотировать узел: в реализации hook_node_load()
он специально проверяет, совпадает ли пользователь, редактирующий узел, с владельцемузел;если это не так, оно скрывает поле аннотации:
/**
* Implements hook_node_load()
*/
function annotate_node_load($nodes, $types) {
global $user;
// Check to see if the person viewing the node is the author. If not then
// hide the annotation.
foreach ($nodes as $node) {
if ($user->uid != $node->uid) {
unset($node->annotation);
}
}
}
Таким образом, единственный человек, который должен когда-либо видеть поле аннотации, является владельцем.Если вы хотите разрешить кому-либо с правами на редактирование аннотировать узел, удалите эту функцию.
Что касается того, чтобы разрешить кому-либо делать аннотации к узлу в качестве отдельной функции для редактирования самого узла, это не то, что было в примереи полностью отделен от используемого кода.Вам придется искать это в других местах и искать примеры, такие как проект Drupal.org Annotate , чтобы найти способы сделать это.По сути, аннотации будут представлять собой отдельные сущности, которые будут ссылаться на узел, почти так же, как работают комментарии.
Но если я буду настолько смелым, вы столкнетесь с большой проблемой с Pro Drupal 7 Development в том смысле, что он не так хорош для разработки, как предыдущие выпуски: он не очень хорошо объясняет вещи, тратит слишком много времени на второстепенные вещи и не хватает времени на действительно важные вещи, вводит действительноплохая практика (включая несколько в примере с аннотациями) и полностью пропускает большие разделы того, что представил Drupal 7.Я бы рекомендовал проверить Drupal 7 Module Development вместо.