我正在尋找使用JavaScript創建一個drupal節點,來自同一網站,我不知道我應該去哪個方向。使用javascript創建一個Drupal節點
我知道你可以使用services/json來做到這一點,但肯定有一個更簡單的方法?
感謝
我正在尋找使用JavaScript創建一個drupal節點,來自同一網站,我不知道我應該去哪個方向。使用javascript創建一個Drupal節點
我知道你可以使用services/json來做到這一點,但肯定有一個更簡單的方法?
感謝
另外一個AJAX回調的複雜性越陷越深,你可能需要在Drupal中有一個menu callback,它將接受AJAX請求並將它變成一個節點對象並用node_save進行保存。
最簡單的形式,它會是這個樣子(注意,有沒有訪問檢查在這裏,所以任何人都可以創建一個使用此回調節點):
<?php
/**
* Implementation of hook_menu().
*/
function demo_menu() {
$items = array();
$items['demo/js'] = array(
'title' => 'Demo page',
'page callback' => 'demo_js_page',
'access callback' => TRUE,
'type' => MENU_CALLBACK,
);
return $items;
}
/**
* Page callback that saves a node.
*/
function demo_js_page() {
if (isset($_REQUEST['title'])) {
$node = new stdClass;
$node->type = 'blog';
$node->title = check_plain($_REQUEST['title']);
node_save($node);
drupal_set_message(t('Created node %title', array('%title' => $_REQUEST['title'])));
}
return t('Thanks for visiting');
}
顯示的代碼是從被插入到您的Drupal站點上的sites/all/modules/demo
等文件夾中的demo.module
文件中。您還需要一個demo.info文件看起來有點像這樣:
name = Demo module
description = Demo code.
core = 6.x
我想看看會是這裏的第一個地方:
,並繼續向負載()函數首先
http://docs.jquery.com/Ajax/load#urldatacallback
,看看這足夠滿足您的需求。
開始與Ajax調用,您可能需要的最簡單的形式,它很容易成爲更普遍的$。阿賈克斯()
注意的節點模塊好一些不寫太清楚不會只是代碼工作。此外,即使這樣做,您可能也希望在node_save之前使用node_prepare對節點進行預處理,以應用您提供的代碼不會執行的內容過濾器。 – FGM 2009-06-07 16:50:18