2010-08-13 33 views
1

我用hook_nodeapi到我的自定義字段添加到類型節點hook_nodeapi() - 如何訂購附加字段

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

的但是新的字段只出現在內容的末尾。無論如何,我可以選擇一個地方來展示它嗎?例如:在標題和正文之間。

出於某種原因,我將無法使用CCK,我想以編程方式執行此操作。 在此先感謝

回答

6

有一些東西叫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

謝謝我會試試這個方法:) – w00d 2010-08-13 17:24:42

+0

如果你實現了CCK的hook_content_extra_fields(),你將能夠使用CCK的拖放重新排序來覆蓋這裏指定的權重。如果您也使用CCK字段來處理其他內容,這是一個很好的竅門。 – Grayside 2010-08-13 18:13:40

+0

聽起來像他不使用CCK – Kevin 2010-08-13 18:16:05

0

你能不能落實hook_load,而不是與您的自定義字段添加節點對象:

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

,那麼你可以它的主題然而你需要在node-customtype.tpl.php中。只是一個想法。

+0

這需要對我來說太多作品我想...我不想添加一個新的模板只是爲了重新排序字段 – w00d 2010-08-13 17:25:12