【问题标题】:Get cart data in opencart在 opencart 中获取购物车数据
【发布时间】:2015-05-27 16:30:55
【问题描述】:

如何在打开的购物车中获取购物车信息?我正在尝试在标签中获取诸如购物车总数之类的内容。

我试过$this->cart (Undefined property: Loader::$cart) 和$registry->get('cart')

我正在编辑catalog/view/theme/default/template/common/header.tpl

【问题讨论】:

  • .tpl 只是模板引擎的视图文件。他们不使用 Twig 吗?

标签: php opencart


【解决方案1】:

您无法在 Opencart 2.X 的 .tpl 文件中加载库文件,您必须在控制器中执行此操作并在模板文件中分配该变量。例如

// Write something like that in controller
$data['cartData'] = $this->cart->getProducts();

您可以在 $cartData 变量中的 .tpl 文件中访问购物车产品。

【讨论】:

  • 要在自定义主题的标题中显示购物车总数,应该怎么做?我认为在这种情况下编辑控制器并不理想。这与OP的要求无关。对不起。
  • 您可以加载购物车库,并且购物车库中有一个名为 getTotal 的方法,您可以像 $this->cart->getTotal() 一样访问它;
  • 看起来我无法在 opencart 2.3.x 中访问 $this。所以我用 OCMOD 管理。但是,仍然不知道这是opencart的方式。
  • 如果您处于 tpl 级别,那么是的,您无法访问它,但您可以像在标题控制器中那样进行操作 $data['total'] = $this->cart->getTotal() ;并在 tpl 文件中打印 $total 变量..就是这样。
  • 你可以使用 vqmod 或 ocmod
【解决方案2】:

这就是我的做法(所以我下次不会忘记!)

在文件catalog/controller/common/cart.php

第 138 行

您可以将$data 变量存储在$_SESSION 中:

$_SESSION['cart_data'] = $data;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 2012-10-05
    • 1970-01-01
    • 2014-01-16
    • 2017-04-27
    • 1970-01-01
    相关资源
    最近更新 更多