如何从订单实体元数据包装器获取订单的用户标识 -- 7 领域 和 commerce 领域 和 entities 领域 drupal 相关 的问题

How to get user id of order from order entity metadata wrapper


4
vote

问题

中文

我在实现 hook_commerce_cart_line_item_refresh() 。它将接收用于商务顺序的线项和实体元数据包装器。

如何从其元数据包装器获取订单的用户标识,而无需加载此用户对象

  $uid = $order_wrapper->owner->value()->uid   

与上面的线将加载用户对象。我想避免加载用户对象,并只需直接占用UID。

以下行不起作用:

  $uid = $order_wrapper->uid;   

还是我应该考虑加载订单对象?因为它可能已经在静态缓存中。

感谢

英文原文

I am implementing hook_commerce_cart_line_item_refresh(). It will be receiving line item and entity metadata wrapper for the commerce order.

How can I get user id of order from its metadata wrapper without loading user object like this

$uid = $order_wrapper->owner->value()->uid 

With above line it will be loading user object. I would like to avoid loading user object and simply take uid directly.

Following line does not work:

$uid = $order_wrapper->uid; 

Or should I think of loading order object? As it might be already in static cache.

Thanks

        

回答列表

8
 
vote
vote
最佳答案
 

与元数据包装器上的任何属性相同:

  function your_module_form($form, &$form_state) {    $form['variable'] = array(     '#type' => 'value',     '#value' => time(),   );    return system_settings_form($form);  } 2  

或者我应该考虑加载订单对象吗?

在没有底层实体的情况下,您不能拥有实体元数据包装器,因此您指的对象已被引用已"已加载" 。你可以用

得到它
  function your_module_form($form, &$form_state) {    $form['variable'] = array(     '#type' => 'value',     '#value' => time(),   );    return system_settings_form($form);  } 3  
 

It's the same as any property on a metadata wrapper:

$uid = $order_wrapper->uid->value(); 

Or should I think of loading order object?

You can't have an entity metadata wrapper without an underlying entity, so the object you're referring to is already 'loaded'. You can get it with

$order = $order_wrapper->value(); 
 
 
     
     
2
 
vote

您需要从实体对象中获取 function your_module_form($form, &$form_state) { $form['variable'] = array( '#type' => 'value', '#value' => time(), ); return system_settings_form($form); } 4

  function your_module_form($form, &$form_state) {    $form['variable'] = array(     '#type' => 'value',     '#value' => time(),   );    return system_settings_form($form);  } 5  
 

You need to get uid from the entity object.

$uid = $order_wrapper->value()->uid; 
 
 
0
 
vote

对于多值实体参考字段,您可以使用此模式获取原始值

  function your_module_form($form, &$form_state) {    $form['variable'] = array(     '#type' => 'value',     '#value' => time(),   );    return system_settings_form($form);  } 6  

这将返回这样的数组:

  function your_module_form($form, &$form_state) {    $form['variable'] = array(     '#type' => 'value',     '#value' => time(),   );    return system_settings_form($form);  } 7  
 

For a multi-valued entity reference field you can get the raw values using this pattern

$wrapper->field_multiple->raw() 

This would return an array like this:

array(0 => 123, 1 => 456) 
 
 
-1
 
vote

正确答案是:

$ uid = $ sermand_wrapper-> author-> uid->值();

 

Correct answer is:

$uid = $order_wrapper->author->uid->value();

 
 
 
 

相关问题

0  展开树中的菜单链接  ( Expand menu links down in a tree ) 
我正在使用漂亮的菜单,但它只扩展了儿童亚菜单。我想要它,这样当你在主父链接上时,它会将一个子菜单放下一个子菜单,所有子子菜单在树中扩展。 有一些质量草图,我确实如此: 不一定是漂亮菜单,欢迎任何替代模块。欢呼。 ...

2  提交的清除Managed_file字段  ( Clear managed file field on submit ) 
我想清除托管文件字段,每次发送内容以进行进一步处理提交时。 回调工作正常,但我在我的目标中反复来脱离我的目标,每次需要提交一个新的图像时。 形式定义为: function mymodule_form($form, &$form_state) { $form['Input type'] = array( ...

0  自动启用节点菜单  ( Enable node menu automatically ) 
我需要每次创建基本页面节点类型时自动创建文章节点类型 - 我正在成功使用规则来实现这一效果。 我的问题是也需要为每个文章创建创建菜单链接。这意味着提供菜单链接复选框,需要在创建每个文章节点的过程中自动启用 - 但它不是。 上面的图像显示了我尝试自动启用的复选框。 直接创建文章节点时,i:e不是使用规则来创建新文...

0  Commerce Kickstart Facet显示项目数,即使选项禁用  ( Commerce kickstart facet displays item count even with option disabled ) 
我正在使用kickstart2。 我使用分类饲料进口商导入了一组新的类别和集合。似乎正常工作,但现在,方面显示 - 即使我在每个搜索字段中禁用了该选项,方面显示 - 展示了所有搜索词汇表的项目计数。 admin / config / search / facetapi / search_api%2540produc...

0  视图显示的查询,不显示用户查看内容  ( Views display for a query that doesnt display view content to user ) 
我需要一个将不会向用户输出内容的视图显示类型。 本质上,我有一个只需执行查询的视图,我将查询的结果与视图_get_view_result()通过电子表格通过电子表格通过电子表格通过电子表格通过电子表格通过电子表格通过电子表格进行电子邮件。 它在cron期间运行,所以我必须关闭访问检查,或者查询显示否结果 虽然我可以...

1  图像不加载  ( Image does not load ) 
我从纺织网站买了一个主题并安装了它。主题的一些图像存储在内部/站点/默认/文件/海关/。所以在图像标签中,我将源位置称为"站点/默认/文件/自定义/ xxx.png" 。但是,这些图像未加载。我递归地将目录权限更改为777,但这不会解决问题。但是图像内/站点/全部/主题/ TB_Travel / Load虽然很好。如...

2  如何停止在Ajax请求上添加jQuery元素  ( How to stop the jquery element being added on ajax requests ) 
我已添加一个用于我的超级小条菜单的切换,它可以正常工作,但对于每个Ajax加载或ColorBox触发,跨度是多次创建的。如何解决它??? (function ($){ Drupal.behaviors.customjs = { attach: function (context, settings) { $(...

1  由ajax命令构建的表单不发送值  ( Form built by ajax commands not sending values ) 
我的问题与ajax命令有关,并且在调用 99887667 之后正在重建的表单。 我有一个带有两个元素的表单,一个选项和文本字段。这些内置于页面加载上的表单。然后,在Ajax回调函数中,我添加了另外两个字段,即另一个文本字段和文本区域。 表单运行并完全重建,但是当我尝试读取键入或从头到尾读取的值时,除此之外,只是只有最...

0  在分类学术语页面中显示用户内容  ( Show user content in taxonomy term page ) 
我正在使用引用模块在分类学术语页面中使用用户参考字段。我在用户参考字段(Field_User)中添加了具有User Matt设置的用户Matt,我已添加名为"Matt的书籍" 的新术语。 用户亚光已创建多个节点。当我打开名为"Matt's Books" 的税率术语页面时,我需要列出所有亚光的节点已经创建了。 我已经让...

0  隐藏特定块/区域中的菜单项  ( Hide menu item in specific block region ) 
我在页面上有两个main_menu实例。一个是在标题中,使用超级鱼。另一个位于侧边栏中,使用MENU_BLOCK。 我想隐藏侧栏中的菜单项并在标题中显示它。这可能吗? 你可以使用template.php来定位一个块/区域吗? 例如: function my_theme_preprocess_block(&$var...

0  自定义CCK_PHONE表单现场需要哪些属性?  ( What properties does a custom cck phone form field need to work ) 
我正在努力从 cck_phone模块。我已将我的部分工作代码包含在底部。 是什么似乎无法工作的是,函数 cck_phone_phone_number_process 希望能够用检索有关窗口小部件的信息 $instance = field_widget_instance($element, $form_state...

0  Drupal 7有哪些PHP缓存相关模块? [关闭]  ( What are some php cache related modules for drupal 7 ) 
此问题似乎在帮助中心中定义的范围内涉及Drupal。。 想要改进这个问题?更新问题,所以它是关于drupal答案的主题。 ...

0  添加类以预订导航块链接  ( Add class to book navigation block links ) 
我使用块模块生成的导航块。在属于书籍的所有页面上显示块。我想向导航块内的所有链接添加自定义类。我发现该块是由代码生成的,gt; https://api.drupal。 org / api / drupal / modules!书!book.module / function / book_block_view ...

2  验证文本框和复选框  ( Validation of text box and checkbox ) 
我正在尝试验证表格。我有一个隐藏的文本框和一个复选框组。 field_institute_event - 代表复选框组。 posted_student_list - 表示隐藏的文本框。 如果两个都是空的,则我想显示错误消息。怎么做?? 我正在尝试以下代码: if((empty($form_state...

0  jcarousel没有在块上工作?  ( Jcarousel not working on block ) 
1)将此模块目录放在模块文件夹中(通常将是 "网站/全部/模块/" ).< / p> 2)在施用的Drupal站点内启用模块 - &gt;网站建设 - &gt; 模块(admin / build / modules)。 我已安装JCarousel模块,如上步骤所示。 之后我创建了一个新的视图(块),然...

0  面板中未知的顶部和底部填充  ( Unknown top and bottom padding in panels ) 
我在drupal 7中使用面板模块。我在面板中的CSS有一些问题。我已经删除了我的自定义CSS中的顶部和底部填充,但仍然似乎是一些填充。我该如何删除它? 我给了ID"Leftpane" ,并制作了以下CSS #leftpane { margin: 0px; padding:0px 20px; ...

0  EntityFieldQuery不返回术语引用 - 不是在field_data中,但在field_revision中  ( Entityfieldquery not returning term references not in field data but are in fi ) 
所以,我是德鲁佩尔(7)的新人 - 这里的任何帮助都非常感谢。 我正在尝试做的是使用EntityFieldQuery返回其中具有给定术语的节点列表。 我有一个字段,"field_crafts" ,工艺品是一个术语引用,指向特定的词汇表。我也有一个"标签" 字段。 如果我使用FieldCondition('field_...

1  使用Drupal API从非系统电子邮件地址发送电子邮件  ( Send email from non system email address using drupal api ) 
从应该是一个非琐碎的任务,我发现这非常令人困惑。我的要求是在WebForm提交时发送HTML电子邮件。这是我现在拥有的。 如果 from 地址被设置为设置为系统电子邮件地址的域电子邮件地址(info@domain.com),通过admin&gt设置为system的电子邮件地址。&gt;配置&gt;&gt;系统,电子邮...

2  Drupal中的主题和模块之间的基本差异是什么? [关闭]  ( What is basic difference between themes and modules in drupal ) 
关闭。这个问题需要更多聚焦。它目前不接受答案。 想要改进这个问题?更新问题,因此它仅介绍了编辑此帖。 关闭 6年前。 ...

0  WEBForm提交和商务订单数据库关系  ( Webform submission commerce order database relations ) 
webform提交ID &amp之间的关系在哪里; 商务单id 在Drupal数据库中? 问题是我的命令之一编辑WebForm后崩溃,所以我猜订单与WebForm之间的关系在数据库中崩溃。 我已经看到了 commerce _ 和 webform _ 表格,但我没有找到任何东西。 ...




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


Licensed under cc by-sa 3.0 with attribution required.