2009-07-10 20 views
3

私は現在、XML形式のクライアントからのデータソースを持っています。このXMLには、作成しているウェブサイトに含まれるすべてのページのコンテンツがあります。このコンテンツをすべて解析して準備したら、PHPがDrupalノード(そのノードのすべての関連フィールド、つまりCCKフィールド、パスなど)の作成を自動化する方法を知っていますか?他の(xml)コンテンツからdrupalページ(ノード)を自動的に作成

理想的には、すべてのコンテンツを送信してノードを作成できる機能です。今すぐ私はそれをdbにまっすぐ入れても構いませんが、dbテーブルがどのように更新されるのかはよくわかりません(drupal設定には膨大なテーブルがあります)。

(..私はDrupalの上のWeb開発者が簡単で、頻繁に使用する機能だろうと想定する)私はGoogleとDrupalのドキュメントを通じて検索したが、私は本当にこのために何かを見つけることができません

あなた入力が非常に高く評価されます!事前に

おかげで、

シャディ

答えて

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でパスを作成する必要があります自動エイリアス設定モジュールを使用している場合):http://acquia.com/blog/migrating-drupal-way-part-i-creating-node

+0

完璧な私はこれが私の後に何かのように見える:)歓声! –

1

あなたがその目的のためにnode_save()を使用することができるはずです。私はcckフィールドを試していませんが、フィールドを追加するとフックを実行して保存する必要があります。ただし、コードを使用してフィールドを持つノードタイプを作成しないと、その機能は管理インターフェースで行う設定に依存します。

0

node_save正しい構造体とフォーマットフィールドを配列構造体に適切に設定すると、cckで機能します。

関連する問題