2009-07-10 150 views
3

我目前有一個XML格式的客戶端數據源,這個XML包含我們正在製作的網站所包含的所有頁面的內容。現在解析並準備好所有這些內容之後,是否有人知道我們可以如何使用PHP自動創建一個drupal節點(包括該節點的所有相關字段,即CCK字段,路徑)。從其他(xml)內容自動創建drupal頁面(節點)

理想情況下,我們可以發送所有內容並創建節點。現在我不介意把它直接放入數據庫,但我不太確定哪些數據庫表得到更新(因爲drupal設置有一個gazillion表)。

我已經通過谷歌和Drupal的文檔搜索,但我真的不能找到這個東西(我認爲將是對Drupal的Web開發人員..一個簡單而經常使用的功能)

你輸入將非常感謝!

由於提前,

沙迪

回答

5

您可以使用Drupal的node_save功能是這樣的:

require 'includes/bootstrap.inc'; 
drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL); 

$node = new stdClass(); 

$node->title = "My imported node"; 
$node->body = "The body of my imported node."; 
$node->type = 'story'; 
$node->created = time(); 
$node->changed = $node->created; 
$node->status = 1; 
$node->promote = 1; 
$node->sticky = 0; 
$node->format = 1; 
$node->uid = 1; 

node_save($node); 

請參閱這篇文章的的Acquia網站了解(包括CCK字段,如果您使用的應該node_save創建路徑pathauto):http://acquia.com/blog/migrating-drupal-way-part-i-creating-node

+0

完美的我認爲這看起來像我之後:)乾杯! – 2009-07-10 23:07:28

1

你應該能夠使用node_save()用於這一目的。我還沒有嘗試過使用cck字段,但是如果添加字段,則應通過掛接運行來保存它們。但是,如果您不通過代碼創建帶有字段的節點類型,則該功能將取決於您在管理界面中執行的設置。

0

node_save適用於cck,如果您在數組結構中設置正確的類型和格式字段。

相關問題