2011-07-05 20 views
4

私は、データベースからデータを取り出し、drupalでノードを作成するバッチインポータモジュールを構築しています。ノードオブジェクトを作成するコードはこれです:私のデバッグウィンドウでDrupal node_saveは失敗しますが、エラーは発生しません

$node = new stdClass(); 
$node->type = 'jobs'; 
$node->uid = 1; 
$node->status = $row->J_Approved; 
$node->title = $row->J_Title; 
$node->comment = 0; 
$node->revision = 1; 
$node->promote = 0; 
$node->sticky = 0; 
$node->created = $row->J_DateTime_Mod; 
$node->field_description = $row->J_Body; 
$node->field_email = $row->J_MI_Email; 
$node->field_jobs_fax = $row->J_MI_Phone; 
$node->field_aia_firm = $row->J_AIA; 
$node->field_name = $row->J_Sub_Name; 
$node->field_phone = $row->J_Sub_Phone; 
$node->field_jobs_email = $row->J_Sub_Email; 
$node = node_submit($node); 
node_save($node); 

そして、上記出力このhttp://screencast.com/t/R5PhWZWraIR8 私はこれを実行すると、それはノードを作成していますが、スクリーンキャストから見ることができるようにしません、 $ node-> validatesを1に設定するので、有効であると仮定します。私はこれをデバッグするのに約5時間を費やしましたが、まだそれを理解することはできません。任意の助けをいただければ幸いです...

+0

は大丈夫、それを修正し、これを行うと、この機能ではCCKフィールドを包むようだ: 関数cck_val($ valを= 0、$キー= '値'){ 戻り配列(配列($をキー=> $ valの) ); } – Magicmarkker

+0

残念ながら、DrupalはフォームAPIで多くのノード検証を行います。 – Rimian

答えて

0

Drupalの6例:それはチェックしませんので

<?php 
$node = new stdClass(); //Create instance of class stdClass which will create node for you. 
$node->type = 'library'; //Name of the content type 
$node->field_book_no[0][value] = 22;//Book number CCK Field 
$node->field_book_name[0][value] = "Drupal"; //Book name CCK Field 
$node->field_book_author[0][value]='Sachin'; //Author name - CCK field 
$node->field_year[0][value]='2011'; //Publication year - CCK field 
$node->uid = 1; // user id, 1 is created by admin 
$node->status = 1;//1 is published, 0 is unpublished 
$node->promote = 0;//1 is promote to home page, 0 is not to promote on home page 
node_save($node); // Save this node 
?> 

node_load()は、何も返しません。

あなたはでそれを確認することができます。

3D argはノードをロードする前にキャッシュをリセットします
$new_node = node_load($node->nid, NULL, TRUE); 

。高価ですが、それが私が知る唯一の方法です。

ノード - > [vars]をお互いにチェックする必要があります。すべて一致する場合はTRUEを返します。

上記のnode_saveコードの例では、クレジットhttp://www.learn-drupal.in/cck/how-to-create-a-drupal-node-programmatically.htmlです。

関連する問題