Oxidshop - 购物篮页面上的自定义字段

Oxidshop - Custom field on basket page

我正在自定义安装在本地计算机上的 oxidshop 实例。我想在购物篮页面的第一步添加一个文本字段。该字段会将值保存到 oxorder 页面的新列中。

知道如何让它工作吗?

由于订单对象是在第 4 步之后创建的,因此您需要将用户输入存储在某处。

我建议使用会话。
因此,您需要通过向正在提交的表单添加 "fnc=myfunction" 请求参数,将购物篮页面上的 "continue to the next step" 按钮重定向到 user 控制器中的新功能(在会话中存储用户输入):

<input type="hidden" name="fnc" value="myfunction"/>

此值存储在会话中后,您将需要扩展 oxOrder 函数 _setUser() 并在调用 parent::_setUser() 后,您可以按 oxorder 保存会话变量: protected function _setUser ($oUser) { parent::_setUser($oUser); $this->assign(['oxorder__myvalue' => oxRegistry::getSession()->getVariable('myvalue')]); }

您还需要删除迷你购物篮 flyout/popup 中的 "checkout" 按钮,因为它会跳过购物篮页面并直接跳转到第 2 步。