Я создаю модуль Drupal, который (помимо прочего) создает несколько узлов типа «индивидуальный_матч» при создании узла типа «team_match». Team_match - это набор связанных отдельных матчей.
Я использовал метод, описанный в Advomatic , который я нашел в старом сообщении о переполнении стека. Он отлично работает (то есть создает узел), но возвращает множество сообщений об ошибках, все они относятся к нулевой дате.
Вот соответствующий код из функции hook_nodeapi:
case 'insert':
// insert individual matches when a team match is created
if($node->type == 'team_match') {
// Create node of type 'individual_match'
// will be a loop, once date errors are sorted out
$form_state = array();
$tmp_node = new stdClass();
$tmp_node->type = 'individual_match';
// create form for new node
$form_state['values']['type'] = $tmp_node->type;
$form_state['values']['status'] = 1;
$form_state['values']['title'] = $node->title;
$form_state['values']['uid'] = $node->uid;
$form_state['values']['name'] = $node->name;
$form_state['values']['op'] = t('Save'); // This seems to be a required value.
// Create the content.
drupal_execute($tmp_node->type.'_node_form', $form_state, &$tmp_node);
}
break;
А вот и сообщения об ошибках:
- предупреждение: date_offset_get () ожидает, что параметром 1 будет DateTime, значение NULL указано в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 491.
- предупреждение: date_format () ожидает, что параметром 1 будет DateTime, ноль указан в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 494.
- предупреждение: date_format () ожидает, что параметром 1 будет DateTime, значение NULL приведено в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 495.
- предупреждение: date_offset_get () ожидает, что параметром 1 будет DateTime, значение NULL указано в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 497.
- предупреждение: date_timezone_set () ожидает, что параметр 1 будет DateTime, ноль указан в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 498.
- предупреждение: date_timezone_set () ожидает, что параметром 1 будет DateTime, значение NULL указано в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 499.
- предупреждение: date_format () ожидает, что для параметра 1 задано значение DateTime, значение NULL указано в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 500.
- предупреждение: date_format () ожидает, что параметром 1 будет DateTime, значение NULL указано в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 501.
- предупреждение: date_timezone_set () ожидает, что параметр 1 будет DateTime, ноль указан в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 509.
- предупреждение: date_timezone_set () ожидает, что параметром 1 будет DateTime, значение NULL указано в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 510.
- предупреждение: date_format () ожидает, что параметром 1 будет DateTime, значение NULL указано в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 511.
- предупреждение: date_format () ожидает, что параметр 1 будет DateTime, ноль указан в /var/www/vhosts/example.com/httpdocs/sites/all/modules/date/date/date_elements.inc в строке 514.