2
它看起來像是可以使用自定義模塊的菜單回調,然後在頁面中使用ajax回調函數。 但在我浪費時間探索之前,我肯定有人肯定是以前做過這件事的。有小費嗎?如何使用Drupal中的JavaScript從節點頁面更新節點?
只需更新節點變量並調用field_attach_update()
就足夠了嗎?那安全呢?
它看起來像是可以使用自定義模塊的菜單回調,然後在頁面中使用ajax回調函數。 但在我浪費時間探索之前,我肯定有人肯定是以前做過這件事的。有小費嗎?如何使用Drupal中的JavaScript從節點頁面更新節點?
只需更新節點變量並調用field_attach_update()
就足夠了嗎?那安全呢?
出於安全:
可以確保該菜單鉤子使用正確的權限訪問
在菜單鉤:
$items['/ajax/%/edit'] = array(
'title' => 'something',
'page callback' => 'your_edit_callback',
'page arguments' => array(1),
'access callback' => 'node_access',
'access arguments' => array('update', 1),
'type' => MENU_LOCAL_TASK,
);
function your_edit_callback($node_id){
//something that edits the node here, only user(s) with node_access will be able to get here.
}
有關節點訪問: *在確定訪問權限節點node_access()首先檢查 *用戶是否具有「旁路節點訪問」權限。這些用戶可以不受限制地訪問所有節點。用戶1將始終通過此檢查。
我個人從未使用過field_attach,但依賴於node_save。
$node = node_load($node_id);
$node->field_fieldname[LANGUAGE_NONE][0]['value'] = "monkeys";
node_save($node);