【发布时间】:2018-09-26 03:35:37
【问题描述】:
我正在自定义安装在本地计算机上的 oxidshop 实例。我想在购物篮页面的第一步添加一个文本字段。该字段会将值保存到 oxorder 页面的新列中。
知道如何让它工作吗?
【问题讨论】:
标签: oxid
我正在自定义安装在本地计算机上的 oxidshop 实例。我想在购物篮页面的第一步添加一个文本字段。该字段会将值保存到 oxorder 页面的新列中。
知道如何让它工作吗?
【问题讨论】:
标签: oxid
由于订单对象是在第 4 步之后创建的,因此您需要将用户输入存储在某处。
我建议使用会话。
因此,您需要将购物篮页面上的“继续下一步”按钮重定向到 user 控制器中的新函数(将用户输入存储在会话中),方法是将“fnc=myfunction”请求参数添加到正在提交的表单中:
<input type="hidden" name="fnc" value="myfunction"/>
将此值存储在会话中后,您将需要扩展oxOrderfunction _setUser() 并在调用parent::_setUser() 后,您可以将会话变量保存为 oxorder:
protected function _setUser ($oUser) {
parent::_setUser($oUser);
$this->assign(['oxorder__myvalue' => oxRegistry::getSession()->getVariable('myvalue')]);
}
您还需要删除迷你购物篮弹出/弹出窗口中的“结帐”按钮,因为它会跳过购物篮页面并直接跳到第 2 步。
【讨论】: