如何在以编程方式向user_register_form提交时指定实体参考字段 -- 7 领域 和 forms 领域 和 entities 领域 drupal 相关 的问题

How to specify entity reference fields when programmatically submitting to user_register_form


简体版||繁體版
1
vote

问题

中文

你认为这很容易。我正在呼唤 drupal_form_submit('user_register_form', $form_state) 在完成填写WebForm后自动注册用户。

但我在我的用户配置文件中有一些实体参考字段,而 form_validate 对我提交的东西不满意。所有ER领域都是分类术语的参考。其中一些是单值字段,其中一些是无限的值字段。它们有各种窗口小部件,如选择列表,自动完成,复选框和单选按钮。其中一些是必填字段,其他人不是。

我尝试在提交表单之前在 $form_state['values'] 中设置以下所有内容:

  $form_state['values']['field_foo']['und'] = $tid; $form_state['values']['field_foo']['und'][0] = $tid; $form_state['values']['field_foo']['und'][0]['target_id'] = $tid;   

但是滴管仍然会抛出"在验证字段时检测到非法选择" ,或者有时"必填字段" 错误。

我做错了什么,我如何弄清楚指定每个字段的正确方法?

英文原文

You'd think this would be easy. I'm calling drupal_form_submit('user_register_form', $form_state) to automatically register users after they have completed filling out a Webform.

But I have some Entity Reference fields in my user profile and form_validate is not happy with what I am submitting for them. All of the ER fields are references to taxonomy terms. Some of them are single-value fields, some of them are unlimited value fields. They have various widgets attached such as Select List, Autocomplete, Checkboxes and Radio Buttons. Some of them are Required fields, others are not.

I've tried setting all of the following in $form_state['values'] before submitting the form:

$form_state['values']['field_foo']['und'] = $tid; $form_state['values']['field_foo']['und'][0] = $tid; $form_state['values']['field_foo']['und'][0]['target_id'] = $tid; 

But Drupal still throws out 'An illegal choice has been detected' when it comes to validate the field, or sometimes a 'Field is required' error.

What am I doing wrong and how do I go about figuring out the right way to specify each of the fields?

        

回答列表

0
 
vote

我认为表单可能需要以适当的格式预期为"[实体标题] [entity_id]" ,因此字段数组应该如此。

  'field_foo' = {     'und' = [         0 = {             'target_id' = 'Title of entity ($tid)'         }     ] }   

只是为了确保可以形成更改用户表单,添加自定义验证并执行 dsm($form_state);

 

I think form might be expecting in proper format that is "[entity-title] [entity_id]", so field array should look like.

'field_foo' = {     'und' = [         0 = {             'target_id' = 'Title of entity ($tid)'         }     ] } 

Just to make sure you can form alter user form, add a custom validate and do a dsm($form_state);

 
 
   
   

相关问题

4  有关如何在视图中包含显示处理程序中的一个选项的任何想法  ( Any idea on how to include a an option in display handler in views ) 
我想包括Pager选项下面的复选框,我以窗体改变实现。问题是如何检索或存储用户已选择的值,并在视图中使用该值 ...

0  访问引用的节点字段 - 字段级别模板  ( Access a referenced nodes fields field level templating ) 
我的内容类型,具有参考字段到另一个内容类型。这允许无限量的条目。 我为此字段创建了一个模板: field--node--field-my-fields.html.twig 我希望能够访问我引用的节点的字段。通常您可以通过访问实体来执行此操作,但我似乎无法执行此操作。 {% for item in items...

4  如何在单内容类型上具有多个现场集合实例?  ( How to have multiple instances of a field collection on single content type ) 
我有一个内容类型,我想使用字段集合来组分组某些字段(单选按钮和文本字段)。我只需要许多这些在内容类型上,只有标签不同。 我希望在一个内容类型上制作一个字段收集实体并在一个内容类型上有多个实例,但现场收集不支持此。 基本上,我需要一组内容类型的一组字段的许多实例。我怎样才能完成这个? ...

7  使用n'subfields创建n个字段  ( Creating n fields with n subfields ) 
我想创建一个内容类型"Enterprise" ,其中用户可以定义N服务,并且对于每个服务,n任务。我已经为此内容类型创建了其他字段(名称,描述,...,简单字段),但我不知道如何从服务和任务开始。 我希望能够以相同的形式创建服务和任务。什么是最好的方法? ...

2  多语种分类观点 - 实体翻译  ( Multilingual taxonomy views entity translation ) 
我正在尝试使用 Entity翻译。到目前为止,即使在使用语言代码时,我也卡住了英语视图。 我正在寻找这个需要的步骤。最简单,我正在尝试根据语言创建分类术语的块或页面。 任何建议? ...

3  以编程方式更新实体参考字段  ( Update entity reference field programmatically ) 
我有点新的沮丧的发展,我有点丢失了我想要做的事情: 我的公司有几个地点,我正在开发一种方法,其中每个位置都可以在我公司网站上有自己的页面。 我希望位置管理人员能够登录并发布关于它们各自位置的新闻文章,并在适当的位置页面上显示这些文章。 我有内容类型设置为"位置" 和"站点文章" 。 "网站文章" 有一个"位置" 字...

0  为什么节点对象没有字段名称?  ( Why doesnt the node object have the field name ) 
合并 如何获得字段标签?。 当我在页面中使用以下代码 - front.tpl.php时,它不会显示字段标签的名称,为什么?我应该用什么代码来打印字段标签? $node = node_...

3  在Drupal 7中使用带有现场收集的分类学  ( Using taxonomies with field collection in drupal 7 ) 
如何在 field_collection 字段类型中?当字段正在使用时创建分类信息/ p> 我正在努力修改报纸网站的文章内容类型;具体来说,我添加了两个字段集合:一个是一个字制,有两个字段("作者" [分类学]和"位置" [文本];例如"ndrew rininsland,生产编辑器" ),另一个是图像,有三个字段加上...

2  如何从文件字段中提取文件名和FilePath?  ( How do i extract filename and filepath from a file field ) 
这是我尝试解决的:我想允许通过默认的filefield上载内容类型上传zip文件。我正在使用hook_node_preSave拍摄zip文件,并从基于核心更新管理器的帮助函数中提取。我收到的错误是: 注意:未定义的索引:filefield_unzip_node_presave()中的文件名()(第18行) /s...

5  从hook_node_insert调用时,实体元数据包装器保存VS节点保存  ( Entity metadata wrapper save vs node save when invoked from hook node insert ) 
在 hook_node_insert() 被调用?该文档解释说 请注意,调用此挂钩时,更改尚未写入数据库,因为数据库事务仍在进行中。该事务未完成,直到保存操作完全完成,并且node_save()超出范围。 事实上,当我尝试做 node_save($node) 时,它会给我一个错误。 但是,如果我这样做, ...

0  ENTITY_METADATA_WRAPPER更改不会被保存到用户配置文件2配置文件  ( Entity metadata wrapper changes not being saved to user profile2 profile ) 
挑战: 我有一个profile2分类学术语参考字段(单个选择),名为" field_member_interest_group " 。 在保存/更新用户配置文件中,我是wan到a)看看用户是否有"大象" 的角色,那么如果是的话,选择"大象组" "从该用户的分类学术语参考字段并保存更改。 "mymodule"...

2  没有类型配置实体的实体的捆绑字段未创建  ( Bundle fields for entity without type config entity not created ) 
我的实体具有在代码中定义的捆绑包( 99887761 ),并且不使用配置实体。它还定义 DrupalCoreEntityFieldableEntityInterface::bundleFieldDefinitions 中的每个套件的字段。但是,当我安装模块时,捆绑字段不会创建,只有基本字段。 根据文档,这是可能的,...

0  现场收集字段未显示  ( Field collection fields not displaying ) 
我在显示现场集合时已经运行了一些麻烦。我的内容类型(产品)具有名为软件包的字段集合。随机我会注意到有时会显示现场收集字段。今天他们已经停止了显示,并没有回来。 我似乎无法弄清楚问题是什么。所有字段都设置为在"字段采集显示设置" 中显示。即使我只看了它们未显示的节点视图页面。 如果有人可以帮助解决这个问题,我很好奇...

0  寻找一个允许预检实体捆绑包的实体重新选项窗口小部件  ( Looking for an entityreference widget that allows to preselect an entity bundle ) 
我正在使用许多实体类型(捆绑包)中的一个实体reference字段,因为在面板中提供的便利性(仅在上下文中添加一个关系)。 但是,缺点是标准EntityReference窗口小部件显示一堆目标实体,这不是用户友好的。 我想要的是一个小部件,包括用于实体类型(捆绑包)的Select字段,以便过滤它旁边的SELECT字段...

2  从Drupal 5到7迁移CCK字段内容  ( Migrate content of cck fields from drupal 5 to 7 ) 
我需要将特定内容类型的内容与束文本菲尔德CCK转移到新D7网站,是我发现很多方法可以通过互联网做这样的事情,我想知道最简单和最简单的事情最快的方法。 我从drupal 5到7迁移。 ...

0  渲染地址菲尔德  ( Rendering addressfield ) 
在我的Drupal 7 Commerce网站上,我有我的结账页面,它将添加我的结算和运输配置文件。我需要只显示我的送货地址和帐单地址,而不是输入字段。 (从ERP后端提供的数据。) 所以我隐藏了一个输入字段。现在我想渲染addresfield值并将其添加到我的表单中以供显示。但我似乎无法这样做。 我的表单中有以下代码...

2  如何让Drupal 8忘记旧的删除字段?  ( How to make drupal 8 forget an old deleted field ) 
将Drupal 8站点部署到新服务器后,我们有一些子系统或其他人记住的旧删除字段的问题,导致此错误在Cron运行时被抛出: DrupalCoreDatabaseDatabaseExceptionWrapper: SQLSTATE[42S02]: Base table or view not found: 1146...

2  以编程方式编辑或插入字段_data_ *表中的推荐方法是什么?  ( What is the recommended method for programmatically editing or inserting values ) 
我正在使用drupal 7.7 我正在使用模块以编程方式将用户添加到有机组。我正在使用OG_GROUP()和OG_ROLE_GRANT(),但用户未完全访问,而不会正确设置它们的Group_Audience字段。所以,我的最终目标真的是这样做的。我找不到任何将执行该功能的OG函数,所以我在一般地询问,如果有任何Dr...

4  如何在Apache Solr的搜索结果中添加自定义字段?  ( How to add custom fields in apache solrs search result ) 
我正在尝试在Apache Solr的搜索结果中添加一些自定义字段(映像字段,文本字段)。 我最终找到了下面的代码;但是,我不知道: 将此代码放在哪里(是它template.php?) 如何获取信息以显示它们。 ` function mymodule_apachesolr_update_index($docum...

1  更新字段值,无需编辑页面  ( Update field value without edit page ) 
我需要创建一个按钮,该按钮将允许用户更新节点上的字段值而不访问编辑页面。我正在使用访问控制来限制对节点的访问,以及可以定义哪个用户看到按钮的角色。我需要更新的字段是自定义选择列表。 是有模块要这样做吗?我找不到一个。谢谢! (关于我的具体实施方式更多) 我的网站允许用户列出其他用户的资源。当用户希望预订项目时,他创建...

6  是否有相当于表单编辑的视图模式?  ( Is there an equivalent of view modes for form editing ) 
我有一个包含很多字段的内容类型。最终用户需要创建此类型的内容,因此我想以简化的形式提供它们,以便他们可以在不知道大多数选项的情况下创建内容项并编辑它。然后那些想要潜入复杂性的人可以有一种先进的形式,它暴露了它们。 查看模式看起来像我想要做的那种东西,所以我使用 hook_entity_info_alter 来创建自定...

48  如何更改现场设置的长度?  ( How to change the length of field settings ) 
我已将一次设置为网站的一个长期限制。现在客户想要将更多字符放入该字段。 我无法从drupal更改最大大小,因为我收到以下错误消息: 数据库中存在此字段的数据。现场设置无法再更改。 然而,必须有一个解决方案。我应该在数据库中更改它(该字段是由 field-collections 模块)实现的 ...

1  如何确定CCK字段存储在数据库中的位置?  ( How to determine where the cck fields are stored in database ) 
创建内容类型时,有一个新表。例如,有一个 content_type_claim 表,内容类型 claim 。 内容字段在表中定义。 但是,当内容字段在不同内容类型中共享(多次使用)时,将有一个为此字段创建另一个表。例如,有一个 99887662 claim no claim no ,如果 claim no 也用于...

0  复杂视图/野外收集问题  ( Complex views field collection question ) 
是有没有办法在视图中执行子查询,该视图是基于现场收集中的过滤器值过滤实体,而且还通过附加到该字段收集项的另一个值? 例如,人们正在搜索属性。房地产率存储在字段集中,参考日期,价格,以及可用的。 当用户使用视图并按特定日期搜索时,我只想返回那些在该字段收集项上的date 和和可用= 1的实体。只需在视图上添加"可用" ...

21  从内容类型中删除字段的最佳方式  ( Best way to drop a field from a content type ) 
从通过GUI定义的内容类型中删除Drupal 7字段的最佳方法是什么?我想使用hook_update_n,因此在运行update.php时可以将更改传播到多个服务器。但是,我似乎无法找到解决方案。 db_drop_table()对我来说是有意义的自定义定义模式,但不是通过GUI定义的内容类型/字段。 ...

相关问题

4  有关如何在视图中包含显示处理程序中的一个选项的任何想法 
0  访问引用的节点字段 - 字段级别模板 
4  如何在单内容类型上具有多个现场集合实例? 
7  使用n'subfields创建n个字段 
2  多语种分类观点 - 实体翻译 
3  以编程方式更新实体参考字段 
0  为什么节点对象没有字段名称? 
3  在Drupal 7中使用带有现场收集的分类学 
2  如何从文件字段中提取文件名和FilePath? 
5  从hook_node_insert调用时,实体元数据包装器保存VS节点保存 
0  ENTITY_METADATA_WRAPPER更改不会被保存到用户配置文件2配置文件 
2  没有类型配置实体的实体的捆绑字段未创建 
0  现场收集字段未显示 
0  寻找一个允许预检实体捆绑包的实体重新选项窗口小部件 
2  从Drupal 5到7迁移CCK字段内容 
0  渲染地址菲尔德 
2  如何让Drupal 8忘记旧的删除字段? 
2  以编程方式编辑或插入字段_data_ *表中的推荐方法是什么? 
4  如何在Apache Solr的搜索结果中添加自定义字段? 
1  更新字段值,无需编辑页面 
6  是否有相当于表单编辑的视图模式? 
48  如何更改现场设置的长度? 
1  如何确定CCK字段存储在数据库中的位置? 
0  复杂视图/野外收集问题 
21  从内容类型中删除字段的最佳方式 



© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有