Drupal 7 Drupal 7节点_save()仅保存标题

Drupal 7 Drupal 7节点_save()仅保存标题,drupal-7,nodes,Drupal 7,Nodes,我在保存OG内容类型的节点时遇到问题,但我怀疑这不是我遇到问题的原因 我已经创建了一个名为Client Account的OG内容类型,所有字段都设置好了,客户端不想使用标准的Drupal UI,因为它太忙了,可能会造成很多混乱,我有点同意,最好创建一个表单,获取组成组的值,并保留所有默认内容,这样,客户机只看到一个表单 因此,我处于这个阶段,提交时节点似乎已保存,当我在admin/content中查看新创建的内容时,新节点有其正确的标题,但不存在其他组值,由于没有保存其他字段数据,因此所有支持填

我在保存OG内容类型的节点时遇到问题,但我怀疑这不是我遇到问题的原因

我已经创建了一个名为Client Account的OG内容类型,所有字段都设置好了,客户端不想使用标准的Drupal UI,因为它太忙了,可能会造成很多混乱,我有点同意,最好创建一个表单,获取组成组的值,并保留所有默认内容,这样,客户机只看到一个表单

因此,我处于这个阶段,提交时节点似乎已保存,当我在admin/content中查看新创建的内容时,新节点有其正确的标题,但不存在其他组值,由于没有保存其他字段数据,因此所有支持填写的文本框尚未填写,并且该节点仍然不是节点

第二,如何将语言类型设置为英语?我尝试将“und”更改为“en”,但它仍然显示为未定义()

这是我的密码:

    global $user;
    $node = new stdClass();
    $node->type = 'client_account';
    $node->title = $form_state['values']['groupName'];
    $node->uid = $user->uid;
    $node->name = $user->name;
    $node->comment = 0;
    $node->promote = 0;
    $node->group_group['und'][0]['value'] = 1; //this is a checkbox value on or off
    /*
     * The rest of the fields in the content type are actually text fields
     */
    $node->og_menu = 1;
    $node->field_company_contact['und'][0]['value'] = $form_state['values']['contactName'];
    $node->field_client_email['und'][0]['value'] = $form_state['values']['clientEmail'];
    $node->body = 'set body with page values';
    //not implimented yet but requires a default value
    $node->field_logo['und'][0]['value'] = "/images/logo.png";
    $node->field_website['und'][0]['value'] = $form_state['values']['website'];
    $node->field_address_line_1['und'][0]['value'] = $form_state['values']['addressLine1'];
    $node->field_address_line_2['und'][0]['value'] = $form_state['values']['addressLine2'];
    $node->field_address_line_2['und'][0]['value'] = $form_state['values']['addressLine3'];
    $node->field_region['und'][0]['value'] = $form_state['values']['county'];
    $node->field_region['und'][0]['value'] = $form_state['values']['region'];
    $node->field_post_code['und'][0]['value'] = $form_state['values']['postCode'];
    //Organic groups fields
    $node->og_description = 'A group managed by ' . $user->name;
    $node->og_register = 0;
    $node->og_directory = 1;
    $node->og_private = 1;
    $node->og_selective = 3;
    //create the node
    $node_save = node_submit($node);
    $result = node_save($node_save);
    drupal_goto("accounts");
我已经显示了$node_save的结果,$result,$node_save已填充,但$result未填充,这正常吗

任何帮助或指点都将不胜感激

非常感谢


Jim

节点的保存不返回值。但是,
$node\u save
是通过引用传递的,因此请检查
$node\u save->nid是否已填充,以查看是否已成功保存

为什么不使用css和hook_form_alter()使默认节点表单看起来更好?这样肯定会有用。对于第二个问题,请检查此线程。谢谢你的回复,我成功地整理了第二个问题,但是对于第一个问题,我想我可以把关于为什么我不使用hook\u form\u alter()的整个论点总结为两个小但非常有力的词:Clients WishesI feel you,我有很多奇怪的客户。您也可以尝试
field\u attach\u form()
将实体字段添加到自定义表单中。您还可以使用
“#access”
属性隐藏不必要的表单元素。谢谢大家的帮助,我成功地把它整理好了,最大的障碍是因为当我改变它的工作方式时,['und']应该是[LANGUAGE\u NONE],谢谢,我不确定,但是有澄清是很好的