public function getItemCompleteAttrDetail($item_id) { $productHelper = new productHelper(); return $productHelper->getItemCompleteAttrDetail($item_id); }
/** * amol changes * Get details of checkout cart items */ function getCheckoutCartItemsDetails() { // GETTING CART ITEMS JLoader::import('cart', JPATH_SITE . DS . 'components' . DS . 'com_quick2cart' . DS . 'models'); $cartmodel = new Quick2cartModelcart(); $cart = $cartmodel->getCartitems(); foreach ($cart as $key => $rec) { JLoader::import('product', JPATH_SITE . DS . 'components' . DS . 'com_quick2cart' . DS . 'models'); $quick2cartModelProduct = new quick2cartModelProduct(); $cart[$key]['item_images'] = $quick2cartModelProduct->getProdutImages($rec['item_id']); $productHelper = new productHelper(); // Get cart items attribute details $cart[$key]['prodAttributeDetails'] = $productHelper->getItemCompleteAttrDetail($rec['item_id']); $product_attributes = rtrim($cart[$key]['product_attributes'], ","); if (!empty($product_attributes)) { // Get Cart Item attribute seleted value if ($cart[$key]['product_attributes']) { $db = JFactory::getDBO(); $query = $db->getQuery(true); $query->select("`cartitemattribute_id`, `itemattributeoption_id`, `cartitemattribute_name`"); $query->from('#__kart_cartitemattributes'); $query->where("itemattributeoption_id IN(" . $product_attributes . ")"); $query->where(" cart_item_id = " . $cart[$key]['id']); $db->setQuery($query); $cart[$key]['product_attributes_values'] = $db->loadObjectList('itemattributeoption_id'); } } } return $cart; }
/** * Amol change : Get order items info. This is used for order edit from backend * * @param integer $orderid order id. * * @since 2.2.7 * * @return object. */ public function getorderinfo($orderid) { // Get Order Info $order = $this->comquick2cartHelper->getorderinfo($orderid); // Get item attribute details foreach ($order['items'] as $key => $item) { $productHelper = new productHelper(); // Get cart items attribute details $item->prodAttributeDetails = $productHelper->getItemCompleteAttrDetail($item->item_id); $product_attributes = explode(',', $item->product_attributes); /* E.g data * * [prodAttributeDetails] => Array ( [0] => stdClass Object ( [itemattribute_id] => 93 [itemattribute_name] => Colors3 [attribute_compulsary] => 1 [attributeFieldType] => Select [optionDetails] => Array ( [0] => stdClass Object ( [itemattributeoption_id] => 231 [itemattributeoption_name] => Red [itemattributeoption_price] => 0.00 [itemattributeoption_prefix] => + [ordering] => 1 [itemattribute_id] => 93 [USD] => 0.00 ) */ foreach ($item->prodAttributeDetails as $optionDetails) { foreach ($optionDetails->optionDetails as $option) { if (in_array($option->itemattributeoption_id, $product_attributes)) { $selected_value = $option->itemattributeoption_id; if (!empty($selected_value)) { $query = $this->_db->getQuery(true); $query->select("`orderitemattribute_id`, `orderitemattribute_name`"); $query->from('#__kart_order_itemattributes'); $query->where("itemattributeoption_id =" . $selected_value . ""); $query->where("order_item_id = " . $item->order_item_id); $this->_db->setQuery($query); $itemattributes = $this->_db->LoadObject(); $optionDetails->orderitemattribute_id = $itemattributes->orderitemattribute_id; $optionDetails->selected = $selected_value; if (!empty($optionDetails->attributeFieldType) && $optionDetails->attributeFieldType == 'Textbox') { $optionDetails->orderitemattribute_name = $itemattributes->orderitemattribute_name; } break; } } } } } return $order; }