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 步。
我正在自定义安装在本地计算机上的 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 步。