1

xmlからノードを自動的に作成しているので、ノードの作成日を設定する必要があります。で試してみました

<?php 
   ...
   $node->created = $date //<- unix timestamp, $node is my node object
   $node->changed = $other_date; 
   ...
?>

しかし運が悪い、それは現在の日付を設定します。何か案は?ありがとう

-編集-

$newNode = (object) NULL;
$newNode->type = 'blog';
$newNode->title = $title;
$newNode->uid = 1;
$newNode->status = 1;
$newNode->comment = 0;
$newNode->moderate = 0;
$newNode->sticky = 0;
$newNode->body['und'][0] = array(
                                'value' => $body,
                                'format' => 'full_html');
$newNode->log      = 'Auto Imported Node';
$newNode->language = LANGUAGE_NONE;

// add fields
$newNode->field_description[LANGUAGE_NONE][0]['value'] = $description;
$newNode->field_byline[LANGUAGE_NONE][0]['value'] = $byline;
$newNode->field_small_image[LANGUAGE_NONE][0]['value'] = $smallimg;
$newNode->field_large_image[LANGUAGE_NONE][0]['value'] = $largeimg;


// save node
$newNode->created = $pd; // i've tried with commenting this line out, too
$newNode->date = $pd;
node_save($newNode);
4

2 に答える 2

2

で動作するはずです$node->created$node->changed、DrupalAPIで設定することはできません。

を設定するnode_submit()関数を使用している場合は、文字列の日付として 設定する必要があります。strtotime($node->date)$node->created$node->date

$node->date = $date_string;
于 2012-05-23T15:05:49.910 に答える
0

@Zoltan:thx、あなたは正しいです!私が使用するとき:

$node->date = '2005-05-06 08:17:27';
node_save($node);

保存後に取得します:

[created] => current timestamp
[changed] => current timestamp

ただし、node_saveの前に行を追加する場合:

$node = node_submit($node);

保存後に取得します:

[created] => 1115360247
[changed] => current timestamp

ノードページに「作成済み」の日付が表示されます

于 2012-06-01T19:43:07.357 に答える