2011-04-15 69 views

回答

3

檢測到哪裏?在hook_alter?在模板中?別的地方?

通常,方法是獲取$ node對象的位置,並查看它是否設置了nid字段。如果是,它是一個編輯。

+0

節點形式檢測 – dorong123 2011-04-17 17:43:14

0
if ($node->is_new) {do_something_for_new_node();} 
2

如果您不想加載整個節點對象,也可以使用URL。 (0)將是「節點」,arg(1)將是「add」,arg(2)將是「content_type_name」,而在節點查看arg()的情況下0)將是node並且arg(1)將是nid(即Numeric)。 這只是一種可供選擇的檢測方式。

1

檢查these answers從drupal.stackexchange.com

例如:

function mymodule_form_node_form_alter(&$form, &$form_state) { 
    $node = $form_state['node']; 

    if (!isset($node->nid) || isset($node->is_new)) { 
    // This is a new node. 
    } 
    else { 
    // This is not a new node. 
    } 
} 

,或者使用ARG()函數如先前已經指出。

相關問題