实体参考使用服务的REST服务器创建问题 -- 7 领域 和 entities 领域 和 services 领域 drupal 相关 的问题

Entity Reference create problem with REST server using Services


3
vote

问题

中文

我正在构建一个Web服务,现在我正在编写移动开发人员的文档。

当我想创建/修改实体参考服务3时,请询问这样的结构

  "field_organization": {     "und":[{         "target_id":"Organization name (69)"     }]   }   

是这样的字段

dsm()输出

但是,还有另一种方法可以只提供没有节点标题的NID?它可能更方便。

我读了像

的东西
  "field_organization":[{      "target_id":{                 "target_id":"[nid:69]"           }    }]   

或类似

     "field_organization": {        "und":[{              "target_id":{                  "target_id":"[nid:69]"                }            }]      }   

在官方文档但它不起作用。

可以有人知道一个仅提供实体参考字段的nid的方法?

英文原文

i'm building a web services and now i'm writing the documentation for the mobile developer.

When i want to create/modify an entity reference Services 3 ask a stucture like this

"field_organization": {     "und":[{         "target_id":"Organization name (69)"     }]   } 

for a field like this

dsm() output

but, there is another way to give only the nid without the node title? It could be more handy.

I read something like

"field_organization":[{      "target_id":{                 "target_id":"[nid:69]"           }    }] 

or like

   "field_organization": {        "und":[{              "target_id":{                  "target_id":"[nid:69]"                }            }]      } 

on the official documentation but it didn't work.

Can someone know a method to give only the nid of a Entity reference field?

        
     
     

回答列表

4
 
vote

我找到了解决方案! 所需的数据结构取决于输入小部件,因为服务使用表单提交处理程序(可能是一个主要的设计漏洞)。 对于"自动完成/标记" label (id) 是必要的。但如果切换到复选框,它读取 (exposed)0 和选择框 (exposed)1

REST-API取决于前端使用的小部件...但至少它有效。我猜它的上行程序是休息帖子正常被验证,就像正常的形式输入一样。我也会看看实现的方法 http://drupal.org/project/restws < / p>

 

I found the solution! The required data structure depends on the input widget, since Services uses the form submit handlers (which may be a major design flaw). For "Autocomplete/Tagging" the label (id) thingy is necessary. But if you switch to checkboxes it reads "field_reference": { 1:1, 2:2, ... ,nid:nid} and for select box "field_reference": [1,2,3 ... nid].

The REST-API depends on the widgets the frontend uses ... but at least it works. I guess its upside is that REST-posts are validated just as normal form inputs are. I'll also have a look at the approach implemented http://drupal.org/project/restws

 
 
2
 
vote

我试过菲利普的方式,但没有运气。在我的情况下(窗口小部件类型是选择和服务-7.x-3.3)

  (exposed)2  

工作。 977是一个nid。

 

I tried Philipp's way but no luck. In my case (widget type is select and services-7.x-3.3)

    "field_reference": {"und": "977"} 

works. Where 977 is a nid.

 
 
 
 
1
 
vote

我使用选择列表作为小部件,以便获得工作工作,但由于实体参考字段(〜9000)中引用的大量节点,我有超时问题。我甚至无法打开编辑节点表单。

所以,我切换到自动完成领域加载更快的方式。为了克服'姓名(nid)'问题,我意识到名称部分不必是正确的。只有NID事项。所以,使用123是"dummyname(123)" 的内容是标题为"我的节点" 的节点的NID将实际保存正确的参考。

 

I was using select list as a widget in order to get the service working but due to a big number of nodes being referenced in the entity reference field (~9000) I had timeout problems. I couldn't even open the edit node form.

So, I switched to the autocomplete field which loads way faster. To overcome the 'NAME (NID)' problem I realised that the NAME part doesn't have to be the correct one. Only the NID matters. So, sendind something like 'Dummyname (123)' with 123 being the nid of a node titled 'My node' will actually save the correct reference.

 
 
0
 
vote

我使用具有复选框/单选按钮小部件的实体参考字段进行了类似的问题。最终,我的特定方案中的问题是我正在使用字段组模块隐藏节点类型上的所有管理字段(使用表单更改,为指定字段组中的所有字段设置对false的访问。要将服务邮寄方式正常工作,我必须将实体参考字段从现场组中取出。在那之后工作的JSON是:

  (exposed)3  
 

I had a similar problem using an entity reference field with the checkbox/radio-button widget. Ultimately, the issue in my particular scenario was that I was using the Field Group module to hide all administrative fields on a node type (using a form alter, set access to false for all fields within a specified field group). To get the services POST working correctly, I had to take the entity reference field out of the field group. The JSON that worked after that was:

{  ...   "field_entity_ref":{"und":"nid"}   ... } 
 
 

相关问题

0  如何以清醒的方式将模块与JQuery-Plugin打包?  ( How can i package a module with a jquery plugin in a sober way ) 
我几乎疯了... 我的问题:我有一个包含自己的CSS和jQuery-plugin的模块。当我直接将其添加到主题时。通过脚本[]一切都很好。但是当我尝试将它与Drupal_add_js()从MyModule.Module中集成了它时,我得到了参考错误 jquery.noconflict(); 如何在我的相对路...

0  ajax通过jquery和附加行为  ( Ajax via jquery and attach behaviors ) 
ajax框架非常好,但我想要更复杂的效果。所以我试图通过jQuery进行AJAX。这里的目标是通过单击菜单上的某些链接来加载节点,但节点包含一个使用灯箱弹出的图像,也包含通过ajax提交的图像。对于我使用Drupal Commerce的演示网站。 在这里是签出的演示。 我正在使用drupal.attachbeha...

0  如何在节点参考字段上添加视图暴露过滤器?  ( How do i add a view exposed filter on a node reference field ) 
我在有许多不同字段的书节点上有一个视图;其中一个是作者字段,它是对节点作者的节点引用。 我想为书籍构建一个搜索视图,添加一些参数,其中一个是作者名称的文本字段。 是否有一种方法可以在节点参考字段上创建曝光过滤器?我没找到一种方式。 ...

11  自上次Cron运行以来如何获得(日期)时间戳?  ( How do i get the datetimestamp since last cron run ) 
我正在构建一个模块,但我困住了.. 我需要前一个Cron的时间戳,因为我运行了一个hook_cron作业,所以我可以检查哪些节点是新的,并通过电子邮件发送。 所以我需要最后一个Cron运行的日期/时间戳,但我如何到达那里? ...

1  没有自定义模块修改视图查询  ( Modify views query without custom module ) 
我必须做一件非常简单的事情,但我不擅长写模块。以下是视图生成的查询 SELECT users.name AS users_name, users.uid AS uid, node_users__field_data_field_mine.field_mine_value AS node_users__field_...

0  fboauth获取用户信息  ( Fboauth get user info ) 
我实现了fboauth模块。它可以很好,我可以用Facebook帐户链接我的网站的帐户。 我需要如果用户登录并且他的帐户与facebook相关联,请在某些块显示他的照片,否则不要显示图片或显示其他图片。 你可以帮我吗? ...

2  如何配置Workbench允许作者在不审核的情况下发布自己的内容?  ( How to configure workbench to allow author to publish own content without modera ) 
我有创建内容的作者角色。该内容由主持人审核。现在我想添加第二个角色超级作者。超级作者可以在不适度的情况下发表自己的内容。我应该如何为此配置Workbench? 编辑 此内容访问权限: 旁路审核限制 ...

2  如何制作一个多站点实例意识到共享模块目录?  ( How to make a multi site instance aware of shared module directory ) 
我的团队继承了一个笨拙的7多站点安装,最初由自定义安装配置文件和醉汉制作。我现在拥有所有这些网站,现在在我们的环境中正确运行,并希望在此新的多站点配置下提供我们支持的其他Drupal 7独立实例。我复制了数据库,并在站点树中创建了一个相应的子目录以及站点的正确编辑.PHP文件。在浏览器中测试时,该站点会正确显示,但此...

3  从文件系统中删除第二份CTools模块  ( Removing second copy of ctools module from filesystem ) 
我有一个网站,其中两个版本的ctools在文件系统上。 第一个版本在网站/全部/模块中 - 这是正确的,我想要它的位置 第二个版本在网站/全部/模块/ Contrib中 - 这是不正确的,并通过自定义格式显示文件。 系统表中的挂号路径是站点/全部/模块/ opler。我想删除Contract文件夹,因为它不应该存在,...

2  模块开发 - 动态内容的布局  ( Module development layout of dynamic content ) 
我正在创建一个Drupal模块,该模块从基于Web的XML API接收内容。该模块从用户占用一些搜索参数,并将这些参数嵌入到XML命令中。我在我收到响应的地点,并且能够使用简单的return语句在页面上显示返回的数据并在页面上显示它。目前我只是返回模块中创建的HTML表。 我想做的是将内容提供给其他滴水模块,例如视图...

5  如何在D7中通过ImageCache以编程方式通过ImageCache进行样式版本?  ( How do i programmatically get a styled version of an image via imagecache in d7 ) 
我想在本地保存到服务器,一个被附加到节点的图像的样式版本。通过我已经配置的自定义图像样式过滤"样式" 。什么是正确的功能,我找不到任何地方。 我有file_unmanaged_copy()原始图像工作正常,我看不到如何检索样式版本。 ...

8  更改所有URL以包括额外信息  ( Altering all urls to include extra information ) 
哪些钩子可用于更改URL?例如,有语言模块,当启用时,提供URL,例如 /en/node/1 ,而不是将其作为 /node/1 。 我想在URL中有类似的东西,我可以访问没有其他功能损害的情况。 这是如何完成的? ...

1  优惠券计算但未向付款网关(Cyber​​Source)发送正确的金额  ( Coupon calculates but doesnt sent correct amount to payment gateway cybersourc ) 
摘要:以下是问题的详细信息。手头的问题是任何超过8%折扣的优惠券。将未被折备的金额发送到Cyber​​Source。在结账页面上,无论优惠券的百分比折扣,计算都正确完成。 相关模块&amp;版本: 购物车7.x-3.2 折扣优惠券7.x-2.1-alpha7 令牌7.x-1.4 实体api 7....

24  在视图中公开单个过滤器的两个字段的组合  ( Expose single filter of combination of two fields in views ) 
我有两个用户配置文件字段"姓氏" 和"名字" 。我还有一个用户列表视图。我想公开"名称" 作为过滤器,可以搜索姓氏和名字。 如何单次滤波器组合这两个字段?我可以从ui视图中创建它吗? 一种可能的方式是创建另一个配置文件字段"名称" ,该字段"名称" 将隐藏在表单中。在"用户保存" 上,我会将两个字段值组合到"名称" ...

0  基于内容类型的页面更改TEASER的显示  ( Change display of teaser based on content type of page in which it is displayed ) 
所以我知道您可以使用 if($teaser) 在节点中使用 if($teaser) 在nody_type.tpl中定义如何为不同的内容类型显示一坯来,但我如何添加逻辑以取决于不同格式的卷显示它的页面内容类型? 我想做这个 if($teaser && CONTENT_TYPE_OF_PAGE_THAT_TEASER...

2  如何在只需一个页面的标题中更改标题标记?  ( How can i change the title tag in header of just one page ) 
我尝试了页面标题模块,但它似乎只能在内容类型级别配置页面标题。 我可以为此页面制作一个寺庙,并在那里直接写标题,但我不想覆盖标题标记的模板文件。 是否有任何其他方法可以将标题设置为一个特定页面(节点视图页面)? ...

1  如何在配置文件上编辑菜单?  ( How can edit a menu on profile installing ) 
我想在Drupal7中编辑管理菜单当我的配置文件在管理项中安装和活动扩展复选标记时。 我用户此方法: db_update('menu_links') ->fields(array('expanded' => 1)) ->condition('menu_name', 'management') ->conditio...

1  新菜单路径上的用户注册表单在提交后出现错误  ( User registration form at a new menu path got error after submit ) 
我是创建员工目录。我创建了一个菜单路径,将用户注册表单与配置文件字段呈现。 当我提交表格时,我有一些未知的错误。我确实填写了表单中的每个字段,但Drupal显示了"必需的" 错误。 错误 该网站遇到意外错误。请稍后再试。 密码字段是必需的。 您必须输入用户名。 您必须输入电子邮件地址。 注意:未定义的索引...

3  是否有关于包含类定义的文件的名称约定?  ( Is there any convention about the name to use for a file containing a class defi ) 
我有一个静态的类,我想在我的模块中调用。 包含类定义的文件是否需要具有特殊名称约定,例如mystaticclass.class.php?该文件位于我的模块文件夹中。 ...

1  是否可以使用这样的路径:用户/%用户/ word使用menu_normal_item而不是menu_local_task  ( Is it possible to use a path like that user user word with menu normal item i ) 
我希望你能理解我的主题的标题,因为我难以用英语表达这个问题。 我想更改作为选项卡(已保存的搜索)的菜单项,并将其放在我的菜单块上。 所以我去了模块的文件,发现了这个: search_api_saved_searches.module $items['user/%user/saved-searches...




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


Licensed under cc by-sa 3.0 with attribution required.