/** * Set basic properties for the item, whether in a list or a singleton * * @param unknown_type $item * @param unknown_type $key * @param unknown_type $refresh */ protected function prepareItem(&$item, $key = 0, $refresh = false) { Tienda::load("TiendaHelperProduct", 'helpers.product'); Tienda::load('TiendaHelperSubscription', 'helpers.subscription'); $helper_product = new TiendaHelperProduct(); if (!empty($item->product_recurs)) { $item->recurring_price = $item->price; if ($item->subscription_prorated) { Tienda::load('TiendaHelperSubscription', 'helpers.subscription'); $result = TiendaHelperSubscription::calculateProRatedTrial($item->subscription_prorated_date, $item->subscription_prorated_term, $item->recurring_period_unit, $item->recurring_trial_price, $item->subscription_prorated_charge); $item->price = $result['price']; $item->prorated_price = $result['price']; $item->prorated_interval = $result['interval']; $item->prorated_unit = $result['unit']; // $item->recurring_trial = $result['trial']; } else { if (!empty($item->recurring_trial)) { $item->price = $item->recurring_trial_price; } } } $user_id = $this->getState('user.id', 0); $qty = $this->getState('product.qty', -1); if ($qty > -1) { $user_group = TiendaHelperUser::getUserGroup($user_id, $item->product_id); $price = TiendaHelperProduct::getPrice($item->product_id, $qty, $user_group); $item->price = $price->product_price; } $item->product_parameters = new DSCParameter($item->product_params); $item->slug = $item->product_alias ? ":{$item->product_alias}" : ""; $item->link = 'index.php?option=com_tienda&view=products&task=view&id=' . $item->product_id; $item->link_edit = 'index.php?option=com_tienda&view=products&task=edit&id=' . $item->product_id; $item->product_categories = $this->getCategories($item->product_id); $item->default_attributes = $helper_product->getDefaultAttributes($item->product_id); $item->product_classes = null; foreach ($item->product_categories as $cat) { $item->product_classes .= " " . $cat->category_alias; } if (!empty($item->product_class_suffix)) { $item->product_classes .= " " . $item->product_class_suffix; } $item->product_classes = trim($item->product_classes); parent::prepareItem($item, $key, $refresh); }
protected function prepareItem(&$item, $key = 0, $refresh = false) { $row = $this->getTable(); $row->bind($item); $item->available = $row->isAvailable(); parent::prepareItem($item, $key, $refresh); }