hook_nodeapi () - Как заказать дополнительные поля - PullRequest
1 голос
/ 13 августа 2010

Я использовал hook_nodeapi, чтобы добавить свое настраиваемое поле к типу узла

$node->content['my_new_field'] = array(
  '#value' => $content,
);

Однако это новое поле появляется только в конце содержимого.Могу ли я выбрать место для его отображения?например: между заголовком и текстом.

По какой-то причине я не смогу использовать CCK, я хочу сделать это программно.Заранее спасибо

Ответы [ 2 ]

6 голосов
/ 13 августа 2010

Есть нечто, называемое weight.Если вы посмотрите на код из API docs , вы увидите, как это должно работать.Меньшие числа появляются перед старшими.

Так что вы можете сделать что-то вроде

$node->content['my_new_field'] = array(
   '#value' => $content,
   '#weight' => 5, //play with the values until you are happy with the output
 );
0 голосов
/ 13 августа 2010

Не могли бы вы реализовать hook_load вместо того, чтобы добавить объект узла с вашими пользовательскими полями:

http://api.drupal.org/api/function/hook_load/6

Затем вы можете создать тему так, как вам нужно, в файле node-customtype.tpl.PHP.Просто мысль.

...