【问题标题】:Oxidshop - Custom field on basket pageOxidshop - 购物篮页面上的自定义字段
【发布时间】:2018-09-26 03:35:37
【问题描述】:

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

知道如何让它工作吗?

【问题讨论】:

    标签: oxid


    【解决方案1】:

    由于订单对象是在第 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 步。

    【讨论】:

    • 谢谢,我认为它应该可以工作。会试一试。但是,现在我遇到了另一个问题。
    • 如何扩展这个 oxOrder 控制器功能?我要添加一个新的控制器吗?
    • 不,你用上面的代码扩展了oxOrder模型,你不需要新的控制器。
    猜你喜欢
    • 1970-01-01
    • 2016-01-14
    • 2018-07-25
    • 2012-09-25
    • 2019-05-26
    • 1970-01-01
    • 2017-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多