我对添加到购物车有疑问。我有一个具有不同自定义条件的产品可供选择。当客户选择特定选项时。它添加到购物车。当客户选择另一个选择并添加。它显示为购物车中的第二项。没关系。但是付款后,订单显示的是item 1和item 2下的自定义选项,没有自定义数据。
所以我在想,而不是将相同的产品展示为不同的商品。我想更新产品自定义数据,因此它将始终显示为单个项目。
(注意:我已从管理员启用“单独销售”选项,但它有效)。
如果不行你能告诉我如何在订单中正确显示,这样付款后发送的邮件,订单页面才会正确显示。
注意:我使用的自定义数据是位置和日期。
提前谢谢你。
最佳答案
更新:
See this recent related questions (Real working examples):
因此,您首先需要通过订单商品中的显示值来设置产品属性,以获得该值的清晰显示标签。然后,您必须在相关产品中使用任何值设置此属性(这些强制性属性值将被您的海关值替换。
因此,如果您的属性名称是“Primary choice”(例如),您将在以下位置设置 pa_primary-choice:
wc_add_order_item_meta($item_id, 'pa_primary-choice', $custom_field_value, true);
然后您将在订单中的商品详情下方看到带有您的自定义字段值的标签名称和您的自定义字段值(此处“XXXX”是您显示的自定义字段值):
Primary choice: XXXX
抱歉,您的问题不是很清楚,不是很详细,也没有您使用的任何代码。我想您是在谈论您为变量产品设置的产品自定义字段,这些字段反射(reflect)在购物车对象项目上。
您可能需要一些额外的代码来将此信息添加为元数据,以便将其视为订单的一部分。您可以尝试类似下面的操作,根据产品页面、购物车和结帐时提交的数据设置方式调整代码……
add_action('woocommerce_add_order_item_meta','add_custom_values_to_order_item_meta', 1, 3 );
function add_custom_values_to_order_item_meta( $item_id, $values, $cart_item_key ) {
$custom_field1 = $_POST['my_custom_field1_key'];
// or $values['my_custom_field1_key'];
$custom_field2 = $_POST['my_custom_field2_key'];
// or $values['my_custom_field2_key'];
if ( !empty($custom field1) )
wc_add_order_item_meta($item_id, 'custom_meta_key1', $custom_field1, true);
if ( !empty($custom field2) )
wc_add_order_item_meta($item_id, 'custom_meta_key2', $custom_field2, true);
// And so on …
}
For product variations it's more complicated, if you want to get something clean for each item, I mean a title with the value of your custom chosen field. For the moment with the provided information and used code in your question is not possible to help you more than that…
代码位于您的事件子主题(或主题)的 function.php 文件中或任何插件文件中。
对于“单独销售”,您可以使用 woocommerce_is_sold_individually 钩子(Hook)从产品中删除数量前端设置:
add_filter( 'woocommerce_is_sold_individually', '__return_true' );
代码位于您的事件子主题(或主题)的 function.php 文件中或任何插件文件中。
关于php - 在订单项目 View 中显示自定义产品数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41970803/
我正在尝试设置一个puppet节点,但rubygems似乎不正常。如果我通过它自己的二进制文件(/usr/lib/ruby/gems/1.8/gems/facter-1.5.8/bin/facter)在cli上运行facter,它工作正常,但如果我通过由rubygems(/usr/bin/facter)安装的二进制文件,它抛出:/usr/lib/ruby/1.8/facter/uptime.rb:11:undefinedmethod`get_uptime'forFacter::Util::Uptime:Module(NoMethodError)from/usr/lib/ruby
我得到了一个包含嵌套链接的表单。编辑时链接字段为空的问题。这是我的表格:Editingkategori{:action=>'update',:id=>@konkurrancer.id})do|f|%>'Trackingurl',:style=>'width:500;'%>'Editkonkurrence'%>|我的konkurrencer模型:has_one:link我的链接模型:classLink我的konkurrancer编辑操作:defedit@konkurrancer=Konkurrancer.find(params[:id])@konkurrancer.link_attrib
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
我主要使用Ruby来执行此操作,但到目前为止我的攻击计划如下:使用gemsrdf、rdf-rdfa和rdf-microdata或mida来解析给定任何URI的数据。我认为最好映射到像schema.org这样的统一模式,例如使用这个yaml文件,它试图描述数据词汇表和opengraph到schema.org之间的转换:#SchemaXtoschema.orgconversion#data-vocabularyDV:name:namestreet-address:streetAddressregion:addressRegionlocality:addressLocalityphoto:i
我需要从一个View访问多个模型。以前,我的links_controller仅用于提供以不同方式排序的链接资源。现在我想包括一个部分(我假设)显示按分数排序的顶级用户(@users=User.all.sort_by(&:score))我知道我可以将此代码插入每个链接操作并从View访问它,但这似乎不是“ruby方式”,我将需要在不久的将来访问更多模型。这可能会变得很脏,是否有针对这种情况的任何技术?注意事项:我认为我的应用程序正朝着单一格式和动态页面内容的方向发展,本质上是一个典型的网络应用程序。我知道before_filter但考虑到我希望应用程序进入的方向,这似乎很麻烦。最终从任何
我想要做的是有2个不同的Controller,client和test_client。客户端Controller已经构建,我想创建一个test_clientController,我可以使用它来玩弄客户端的UI并根据需要进行调整。我主要是想绕过我在客户端中内置的验证及其对加载数据的管理Controller的依赖。所以我希望test_clientController加载示例数据集,然后呈现客户端Controller的索引View,以便我可以调整客户端UI。就是这样。我在test_clients索引方法中试过这个:classTestClientdefindexrender:template=>
我在我的项目中添加了一个系统来重置用户密码并通过电子邮件将密码发送给他,以防他忘记密码。昨天它运行良好(当我实现它时)。当我今天尝试启动服务器时,出现以下错误。=>BootingWEBrick=>Rails3.2.1applicationstartingindevelopmentonhttp://0.0.0.0:3000=>Callwith-dtodetach=>Ctrl-CtoshutdownserverExiting/Users/vinayshenoy/.rvm/gems/ruby-1.9.3-p0/gems/actionmailer-3.2.1/lib/action_mailer
我想向我的Controller传递一个参数,它是一个简单的复选框,但我不知道如何在模型的form_for中引入它,这是我的观点:{:id=>'go_finance'}do|f|%>Transferirde:para:Entrada:"input",:placeholder=>"Quantofoiganho?"%>Saída:"output",:placeholder=>"Quantofoigasto?"%>Nota:我想做一个额外的复选框,但我该怎么做,模型中没有一个对象,而是一个要检查的对象,以便在Controller中创建一个ifelse,如果没有检查,请帮助我,非常感谢,谢谢
我已经从我的命令行中获得了一切,所以我可以运行rubymyfile并且它可以正常工作。但是当我尝试从sublime中运行它时,我得到了undefinedmethod`require_relative'formain:Object有人知道我的sublime设置中缺少什么吗?我正在使用OSX并安装了rvm。 最佳答案 或者,您可以只使用“require”,它应该可以正常工作。我认为“require_relative”仅适用于ruby1.9+ 关于ruby-主要:Objectwhenrun
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘