【问题标题】:Ubercart uc_cart_get_contents get data from standard classUbercart uc_cart_get_contents 从标准类获取数据
【发布时间】:2011-04-25 17:23:47
【问题描述】:

我正在为我的一个项目编写自定义模块,但遇到了一些问题。我要做的是从 uc_cart_get_contents() 中获取一条数据到一个变量中,以便我可以在计算中使用它:

这是我的 var_export:

array ( )array ( 0 => stdClass::__set_state(array( 'cart_item_id' => '5', 'cart_id' => '1', 'nid' => '9', 'qty' => '10', 'changed' => '1287074120', 'data' => array ( 'attributes' => array ( 3 => '4', ), 'shippable' => '1', 'restrict_qty' => '0', 'module' => 'uc_product', ), 'title' => 'Chicago Canyon', 'vid' => '9', 'cost' => 1.16, 'price' => 11.16, 'weight' => 0, 'module' => 'uc_product', 'model' => 'chicago-canyon-p-card-p-env', )), )

但是如果我想将购物车中每件商品的模型放入一个变量中,并根据该变量调整商品的价格。

如果它是一个数组,我会这样做:

$items= uc_cart_get_contents();

$model = $items[model];

但这不起作用,它是一个标准类。我太失落了。请帮忙!

【问题讨论】:

    标签: php drupal ubercart


    【解决方案1】:

    如果您询问如何访问对象属性,您可以这样做:

    $model = $items->model;
    

    【讨论】:

    • 这似乎不起作用。我试过了,但是当我尝试回显变量时,什么也没有出现。但是没有抛出任何错误。
    • 实际上我只是尝试使用来自 uc_attribute_calc_cart_item($op, &$item) { 的 $item 并且回显有效,数据通过了。所以我认为您在语法上是正确的,并且该特定功能有些问题。非常感谢您的回答!
    【解决方案2】:

    首先,uc_cart_get_contents() 返回一个对象数组。所以,如果你这样做了:

    $items=uc_cart_get_contents();
    

    您必须遍历 $items,然后从每个项目中获取您想要的特定数据元素。

    例如:

    $items = uc_cart_get_contents();
    foreach ($items as $item)
    {
      $model = $item->model;
      // whatever ... 
    } 
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-05-31
      • 2018-04-05
      • 2023-03-25
      • 2015-05-24
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      相关资源
      最近更新 更多