2011-11-17 24 views
0

Drupal 6.只有在創建特定content_type時才執行drupal_add_js的正確方法是什麼?僅在特定content_type節點創建時加載JS

我有一些jQuery代碼需要執行只是爲了控制特定content_type創建中的某些表單元素。

我已經有一個模塊,其名稱與content_type不同。這是一個問題嗎?我仍然可以勾住表格嗎?如果是這樣,那麼生成特定node/add/content_type的鉤子的正確方法是什麼?

編輯:這只是創建,而不是視圖需要。

編輯2:代碼,這不是目前的工作: 文件:testmod.module

function testmod_form_node_type_form_alter(&$form, &$form_state) { 
    if ($form['#node_type']->type == 'testnode') { 
    drupal_add_js(drupal_get_path('module', 'testmod') . '/new_msg.js'); 
    } 
} 

回答

1

可能有幾個方法可以做到這一點,但我會使用一個form_alter鉤:

function mymodule_form_node_form_alter(&$form, &$form_state) { 
    if (!isset($form['#node']->nid) && $form['#node']->type == 'my-type') { 
    drupal_add_js('my-file.js'); 
    } 
} 
+0

謝謝你,克萊夫。我不知道爲什麼鉤子沒有被調用。我已經清除了緩存,模塊肯定工作(它創建的一些自定義頁面正在顯示),而且我的JS文件是有效的(它正在另一個頁面上使用相同的調用)。我會用代碼更新我的帖子。再次感謝你。 – djdy

+0

@djdy:對不起,我誤解了你正在做的事情,我已經更新了它現在應該可以工作的答案中的代碼 – Clive

+0

這似乎並沒有讀取......我結束了使用_form_alter ...是否皺起了眉頭當? – djdy