Дата ошибок при программной вставке нескольких узлов в Drupal - PullRequest
1 голос
/ 01 октября 2010

Я создаю модуль 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.

1 Ответ

2 голосов
/ 01 октября 2010

Это обязательное поле даты и времени CCK для типа контента Individual_match.Установка этого параметра в функции или не обязательство сделать это решает эту проблему.

...