要從舊有的網站,轉移至 Drupal,是否很頭痛?? 怎麼 Drupal 建立一個 NODE 會改動這麼多資料表啊!! 該怎麼好呢? 請永遠緊記 Drupal API 是你的朋友!
透過編寫程式建立 Drupal Node
我們的編寫步驟及方向流程:
- 如果你還未會建立 Drupal 模組或要從外部執行,可使用 bootstrap 將它們連結起來。
- 從其他程式的資料庫或任何途徑取得你想要的資料 (PHP 你不會? 那請關閉此網頁)
- 透過 Drupal API node_save() 儲存到 Drupal 資料庫中
- 上 Youtube 看一會短片,讓程式自己運行
簡單示範程式碼:
// 打開 Drupal index.php,將前面兩行複製一下就可以
require_once './includes/bootstrap.inc';
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);
$node = new stdClass(); // 建立 Node Object.
module_load_include('inc', 'node', 'node.pages');
/**
* 自動準備好一些該有的參數
* 因此在下面只需填上你要修改的內容便可
* 如缺乏這一步,你需要獨一編寫。
*/
node_object_prepare($node);
/**
* 好戲現在開始
* 從其他資料庫或程式中取得數據,然後再寫入
* 使用 print_r($node) 或 Devel dsm($node) 了解有什麼可用
*/
$node->type = 'story';
$node->title = "Node 標題";
$node->body = "Node 內容";
$new_node = node_submit($node); // 準備儲存前的一些資料
node_save($new_node); // 最重要是這一步 !!
就是這麼簡單。
透過現有模組
當然,如果你真是不會 PHP,而又沒有好好聽我上面所說而關閉此頁面的話,可以考慮使用現有的 Drupal 模組來達成。
到 Drupal.org 搜尋 csv import, node import, X improt 就有一大堆,我也不知那個好,跟我分享哦 :)

1 個回應主題: 整合舊網站資料至 Drupal (利用 node_save() 建立 Node)
Node Import 我用過效果很好~
http://drupal.org/project/node_import
寫下您的回覆