【问题标题】:Codeigniter Cart Class - additional price for product optionsCodeigniter 购物车类 - 产品选项的附加价格
【发布时间】:2011-01-25 03:42:20
【问题描述】:

是否可以将价格值添加到 Codeigniter 购物车类中的产品选项。例如:T 恤价格为 10.00 美元,但 XXL 尺寸需额外支付 2.00 美元。

$data = array(
           'id'      => 'abc',
           'qty'     => 1,
           'price'   => 10.00,
           'name'    => 'T-Shirt',
           'options' => array('Size' => 'XXL') // Where would you add $2.00 for XXL?
        );

$this->cart->insert($data);

【问题讨论】:

  • 我实际上明天要面对这个 :) +1

标签: php codeigniter shopping-cart


【解决方案1】:

通过查看购物车类,看起来完成您所要求的唯一方法是将期权价格合并到传递给 CodeIgniter 购物车类的价格中。因此,您将传递您在示例中提供的数组,将 $data['price'] 设置为 12.00(10.00 加上 XXL 的 2.00)

我对 CI 的购物车类的理解是,它只是为购物车提供基本的会话处理信息。诸如具有自己定价的产品选项之类的东西需要在您自己的代码中构建在它之上。

【讨论】:

    【解决方案2】:

    这就是我们在 CI 的原始系统之外构建自己的购物车和订单管理系统的原因之一。

    恕我直言,更好的方法是扩展或重建 CI 的购物车类,以便直接从数据库结果中注入产品和选项。通过这种方式,您始终可以追踪价格的计算方式:从 ericofsac 的回答中,为什么它的价格是 12 而不是 10,以及在销售时收取了多少期权。

    您还可以轻松实现从购物车数据到订单的记录接口,但这是另一点。

    【讨论】:

    • 谢谢!我必须利用我对 CI 的购物车类的理解来构建我自己的基于会话的购物车系统。
    【解决方案3】:

    是的,您应该将产品与选项价格“合并”,然后将带有总新价格的包裹放入您的购物车。如果您希望能够使用 CI:购物车总数等的预建功能,这可能是我能想到的唯一方法。

    【讨论】:

      猜你喜欢
      • 2015-12-10
      • 1970-01-01
      • 2016-04-04
      • 1970-01-01
      • 2014-07-23
      • 1970-01-01
      • 1970-01-01
      • 2017-08-07
      • 1970-01-01
      相关资源
      最近更新 更多