Drupal 7 Drupal 7节点_save()仅保存标题
我在保存OG内容类型的节点时遇到问题,但我怀疑这不是我遇到问题的原因 我已经创建了一个名为Client Account的OG内容类型,所有字段都设置好了,客户端不想使用标准的Drupal UI,因为它太忙了,可能会造成很多混乱,我有点同意,最好创建一个表单,获取组成组的值,并保留所有默认内容,这样,客户机只看到一个表单 因此,我处于这个阶段,提交时节点似乎已保存,当我在admin/content中查看新创建的内容时,新节点有其正确的标题,但不存在其他组值,由于没有保存其他字段数据,因此所有支持填写的文本框尚未填写,并且该节点仍然不是节点 第二,如何将语言类型设置为英语?我尝试将“und”更改为“en”,但它仍然显示为未定义() 这是我的密码:Drupal 7 Drupal 7节点_save()仅保存标题,drupal-7,nodes,Drupal 7,Nodes,我在保存OG内容类型的节点时遇到问题,但我怀疑这不是我遇到问题的原因 我已经创建了一个名为Client Account的OG内容类型,所有字段都设置好了,客户端不想使用标准的Drupal UI,因为它太忙了,可能会造成很多混乱,我有点同意,最好创建一个表单,获取组成组的值,并保留所有默认内容,这样,客户机只看到一个表单 因此,我处于这个阶段,提交时节点似乎已保存,当我在admin/content中查看新创建的内容时,新节点有其正确的标题,但不存在其他组值,由于没有保存其他字段数据,因此所有支持填
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],谢谢,我不确定,但是有澄清是很好的