private function add_product_shipping_methods($product_rows) { $db = JFactory::getDbo(); $query = $db->getQuery(true); $model_options = WDFHelper::get_model('options'); $options = $model_options->get_options(); $decimals = $options->option_show_decimals == 1 ? 2 : 0; $row_default_currency = WDFDb::get_row('currencies', $db->quoteName('default') . ' = 1'); for ($i = 0; $i < count($product_rows); $i++) { $product_row = $product_rows[$i]; $query->clear(); $query->select('T_SHIPPING_METHODS.name'); $query->select('T_SHIPPING_METHODS.description'); $query->select('T_SHIPPING_METHODS.price'); $query->select('T_SHIPPING_METHODS.free_shipping'); $query->select('T_SHIPPING_METHODS.free_shipping_start_price'); $query->from('#__ecommercewd_productshippingmethods AS T_PRODUCT_SHIPPING_METHODS'); $query->leftJoin('#__ecommercewd_shippingmethods AS T_SHIPPING_METHODS ON T_PRODUCT_SHIPPING_METHODS.shipping_method_id = T_SHIPPING_METHODS.id'); $query->where('T_PRODUCT_SHIPPING_METHODS.product_id = ' . $product_row->id); $query->where('T_SHIPPING_METHODS.published = 1'); $query->order('T_SHIPPING_METHODS.ordering ASC'); $db->setQuery($query); $shipping_method_rows = $db->loadObjectList(); if ($db->getErrorNum()) { return false; } // additional data foreach ($shipping_method_rows as $shipping_method_row) { // prices $shipping_method_row->price = $shipping_method_row->free_shipping == 1 ? 0 : $shipping_method_row->price; // number format and currency signs if ($shipping_method_row->price != 0) { $shipping_method_row->price_text = number_format($shipping_method_row->price, $decimals); if ($row_default_currency->sign_position == 0) { $shipping_method_row->price_text = $row_default_currency->sign . $shipping_method_row->price_text; } else { $shipping_method_row->price_text = $shipping_method_row->price_text . $row_default_currency->sign; } } else { $shipping_method_row->price_text = WDFText::get('FREE_SHIPPING'); } } $product_row->shipping_methods = $shipping_method_rows; } }
public function get_row() { $db = JFactory::getDbo(); if (WDFInput::get('type')) { $id = WDFInput::get('id'); } else { $id = WDFInput::get('category_id', WDFParams::get('category_id', 0, 'int')); } $row = WDFDb::get_row('categories', array($db->quoteName('id') . ' = ' . $id, $db->quoteName('published') . ' = 1')); if ($row->id == 0) { $row->id = 0; $row->name = JText::_('root'); } // additional data // path categories $row->path_categories = $this->get_category_path_categories($row->id); // info if (WDFInput::get('type')) { $row->show_info = WDFInput::get('show_info'); } else { $row->show_info = WDFParams::get('show_info', 1); } // image if ($row->images != null) { $images = WDFJson::decode($row->images); $row->image = empty($images) == false ? $images[0] : ''; } else { $row->image = ''; } // subcategories if (WDFInput::get('type')) { $row->show_subcategories = WDFInput::get('show_subcategories'); } else { $row->show_subcategories = WDFParams::get('show_subcategories', 1); } if (WDFInput::get('type')) { $row->subcategories_cols = WDFInput::get('number_columns'); } else { $row->subcategories_cols = WDFParams::get('subcategories_cols', 1); } $subcategories = $this->get_category_subcategories($row->id); if ($subcategories === false) { WDFHelper::redirect('systempages', 'displayerror', '', 'code=2'); } $row->subcategories = $subcategories; if (empty($row->subcategories) == true) { $row->show_subcategories = 0; } // category tree if (WDFInput::get('type')) { $row->show_tree = WDFInput::get('show_path'); } else { $row->show_tree = WDFParams::get('show_tree', 1); } // products and count if (WDFInput::get('type')) { $row->show_products = WDFInput::get('show_products'); } else { $row->show_products = WDFParams::get('show_products', 1); } if (WDFInput::get('type')) { $row->products_count = WDFInput::get('products_count'); } else { $row->products_count = WDFParams::get('products_count'); } $row->products = array(); if ($row->show_products == 1) { $products = $this->get_category_products($row->id, $row->products_count); if ($products === false) { WDFHelper::redirect('systempages', 'displayerror', '', 'code=2'); } $row->products = $products; } if (empty($row->products) == true) { $row->show_products = 0; } // url view products $row->url_view_products = JRoute::_('index.php?option=com_' . WDFHelper::get_com_name() . '&controller=products&task=displayproducts&search_category_id=' . $row->id); return $row; }