Ubercart uc_cart_get_contents получить данные из стандартного класса - PullRequest
1 голос
/ 15 октября 2010

Я пишу пользовательский модуль для одного из моих проектов, и у меня возникла небольшая проблема.Я пытаюсь получить часть данных из 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];

но это не работает, это стандартный класс.Я так потерян.Пожалуйста, помогите!

Ответы [ 2 ]

2 голосов
/ 12 октября 2012

для начала, uc_cart_get_contents () возвращает массив объектов. так что, если вы сделали:

$items=uc_cart_get_contents();

вам нужно будет выполнить итерацию по $ элементам, а затем получить нужные элементы данных для каждого элемента.

например:

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

надеюсь, что поможет

2 голосов
/ 15 октября 2010

Если вы спрашиваете, как получить доступ к свойствам объекта, вы делаете это так:

$model = $items->model;
...