如何在商务中获得类似于Ubercart的“空订单项”?


8

在Ubercart中,有一个小功能可将“空订单项”添加到管理员创建的订单中。这允许管理员手动输入订单项的自定义标题和自定义金额。从本质上讲,您无需先完成创建产品然后将其附加到订单的过程即可添加订单项。对于创建自定义服务的发票非常有帮助。有什么办法可以在Drupal Commerce中获得此功能?

这是Ubercart的外观和工作方式:

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

Answers:



5

在Drupal Commerce中,我们决定将与订单项类型相关的回调添加到订单项API。产品行项目的功能与装运行项目的功能不同...等等。作为副作用,这意味着不存在“通用”行项目,就像没有无类型节点一样。

需要做的是,如果尚不存在,则可以制作一个小的contrib模块,该模块添加一个基本的订单项类型,该类型的订单管理页面中的“订单项添加表单”可让您指定管理和显示该订单项。定价规则等要分解的地方-这些订单项是否应征税?是否应提供其他折扣?还是显示规则-这些规则应显示在客户订单页面上吗?

核心中没有这样的功能(如您所见,这是一个很小的贡献,但是制作起来并不容易),但是如果经过测试并证明它是一个贡献概念,我看不到为什么我们不能考虑将其包含在Commerce 2.x中。


因此,当您的Commerce可定制产品模块如何将其添加到管理员创建的订单中时,管理员如何设置产品所需的任何可定制项目?
奈杰尔·沃特斯

我只是尝试通过使用Commerce可自定义产品创建自定义订单项来做到这一点。然后为用户输入设置一个文本字段(理论上,这可能是对定制服务的描述)。然后创建一个通用的定制产品。但是,将产品添加到管理员创建的订单中似乎引用了产品实体,而不是节点显示,因此管理员无法在此字段中输入文本。本质上看来,如果您拥有可定制的产品,那么您就无法订购电话之类的东西,而要让管理员创建它。必须通过添加到购物车过程来完成。
奈杰尔·沃特斯

在我看来,订单实体上的“订单项”字段应该是节点引用,而不是带有修改后的“添加到购物车”表单的订单项引用。
奈杰尔·沃特斯

有什么回应吗?
奈杰尔·沃特斯

我不确定节点引用将在此处做什么-有一个订单项实体,而这就是被引用的对象。Commerce Customizable Products通过继承核心Product订单项类型的回调来工作。如果需要不同的订单项类型来包含不同的字段,它使您可以创建新的产品订单项类型。该模块本身未定义任何这些回调或UI组件。它仅使用产品参考模块中的内容。
Ryan Szrama

0

也许一种解决方法是创建通用产品并使用Commerce Customizable Products。这是模块项目页面中的摘录:

Drupal Commerce允许您出售可定制的产品,将其添加到购物车时需要客户输入。此功能的用例包括:

  • 需要联系信息和徽标上传的名片。
  • 需要参与者信息的事件注册。
  • 捐赠允许客户指定捐赠金额。

你有什么想法?


正如我在上面对@Ryan Szrama的评论中所建议的那样,但是该产品的可自定义部分未公开给管理员创建。
奈杰尔·沃特斯
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.