2010-10-15 22 views
1

J'écris un module personnalisé pour un de mes projets et j'ai un peu de problème. Ce que je suis en train de faire est d'obtenir une donnée de uc_cart_get_contents() dans une variable afin que je puisse l'utiliser dans un calcul:Ubercart uc_cart_get_contents obtenir des données de la classe standard

Voici mon 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',)),) 

Mais si je veux pour mettre le modèle de chaque article dans le panier dans une variable, et basé sur cette variable ajuster le prix de l'article.

Si c'était un tableau que je ferais ceci:

$items= uc_cart_get_contents(); 

$model = $items[model]; 

mais cela ne fonctionne pas, il est une classe de std. Je suis tellement perdu. S'il vous plaît aider!

Répondre

2

Si votre demande comment accéder propertiers objet que vous le faites comme ceci:

$model = $items->model; 
+0

qui ne semble pas fonctionner. Je l'ai essayé, mais quand j'essaie de faire écho à la variable rien ne sort. Mais aucune erreur n'est lancée. – MrMaksimize

+0

En fait, j'ai juste essayé d'utiliser $ item de uc_attribute_calc_cart_item ($ op, & $ item) { et l'écho a fonctionné, les données ont été tirées à travers. donc je pense que vous étiez correct sur la syntaxe et il y a quelque chose avec cette fonction spécifique. Merci beaucoup pour votre réponse! – MrMaksimize

2

pour commencer, uc_cart_get_contents() retourne un tableau d'objets. Donc, si vous avez fait:

$items=uc_cart_get_contents(); 

vous devez parcourir les articles $, et obtenir les éléments de données spécifiques que vous voulez à partir de chaque élément.

par exemple:

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

espoir qui aide