代码之家  ›  专栏  ›  技术社区  ›  Ted

在Drupal中以编程方式插入多个节点时出现日期错误

  •  1
  • Ted  · 技术社区  · 15 年前

    Advomatic ,这是我在一个旧的堆栈溢出帖子中发现的。它工作得很好(意味着它创建了节点),但是它返回了很多错误消息,都与空日期有关。

        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\u offset\u get()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素第491行。
    • 警告:date\u format()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素第494行。
    • 警告:date\u format()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素第495行。
    • 警告:date\u offset\u get()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素第497行。
    • 警告:date\u timezone\u set()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素第499行。
    • 警告:date\u format()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素第501行。
    • 警告:date\u timezone\u set()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素在509线上。
    • 警告:date\u timezone\u set()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素第510行。
    • 警告:date\u format()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素公司,511号线。
    • 警告:date\u format()要求参数1为DateTime,在/var/www/vhosts中为空/example.com/httpdocs/sites/all/modules/date/date/date\u元素公司,514号线。
    1 回复  |  直到 15 年前
        1
  •  2
  •   Ted    15 年前

    事实证明,这是“个别匹配”内容类型上必需的CCK datetime字段。在函数中设置它,或者不使它成为必需的,就解决了这个问题。