2012-05-23 7 views
1

Я создаю узлы автоматически из xml, и мне нужно установить даты создания для них. Я пробовал сDrupal 7 node_save установить даты

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

но не повезло, он устанавливает текущую дату. Любые идеи? Благодаря

-edit-

$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); 

ответ

2

Он должен работать для $node->created, но $node->changed не может быть установлен с Drupal API.

Если вы используете node_submit() функцию, которая использует strtotime($node->date) установить $node->created, вам необходимо установить $node->date в качестве даты строки.

$node->date = $date_string; 
+0

Хм, я пробовал, но это не работает ... у вас есть идея, почему? –

+0

Пожалуйста, покажите, как вы сохраняете узел. – kalabro

+0

Нет, я не использую 'node_submit()', я должен? Только 'node_save()' –

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 

и на странице узла будет отображаться «созданная» дата

Смежные вопросы