/** * 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) { Citruscart::load("CitruscartHelperProduct", 'helpers.product'); Citruscart::load('CitruscartHelperSubscription', 'helpers.subscription'); $helper_product = new CitruscartHelperProduct(); if (!empty($item->product_recurs)) { $item->recurring_price = $item->price; if ($item->subscription_prorated) { Citruscart::load('CitruscartHelperSubscription', 'helpers.subscription'); $result = CitruscartHelperSubscription::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 = CitruscartHelperUser::getUserGroup($user_id, $item->product_id); $price = CitruscartHelperProduct::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_citruscart&view=products&task=view&id=' . $item->product_id; $item->link_edit = 'index.php?option=com_citruscart&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); }