Jump to content

new products is so so so so slow!!!!! i can not open the page


Recommended Posts

i replace getNewProducts function in classes/product.php with the code below,but still can not open the page:



static public function getNewProducts($id_lang, $pageNumber = 0, $nbProducts = 10, $count = false, $orderBy = NULL, $orderWay = NULL)
   {
       global $link, $cookie;

       if ($pageNumber < 0) $pageNumber = 0;
       if ($nbProducts < 1) $nbProducts = 10;
       if (empty($orderBy) || $orderBy == 'position') $orderBy = 'date_add';
       if (empty($orderWay)) $orderWay = 'DESC';
       if ($orderBy == 'id_product' OR $orderBy == 'price' OR $orderBy == 'date_add')
           $orderByPrefix = 'p';
       elseif ($orderBy == 'name')
           $orderByPrefix = 'pl';
       if (!Validate::isOrderBy($orderBy) OR !Validate::isOrderWay($orderWay))
           die(Tools::displayError());

       if ($count)
       {
           $result = Db::getInstance()->getRow('
           SELECT COUNT(`id_product`) AS nb
           FROM `'._DB_PREFIX_.'product` p
           WHERE `active` = 1 order by p.`date_add` desc
           limit 0,50'
           );
           return intval($result['nb']);
       }





       $result = Db::getInstance()->ExecuteS('
           SELECT p.*, pl.`description`, pl.`description_short`, pl.`link_rewrite`, pl.`meta_description`, pl.`meta_keywords`, pl.`meta_title`, pl.`name`, p.`ean13`,
               i.`id_image`, il.`legend`, t.`rate`
           FROM `'._DB_PREFIX_.'product` p
           LEFT JOIN `'._DB_PREFIX_.'product_lang` pl ON (p.`id_product` = pl.`id_product` AND pl.`id_lang` = '.intval($id_lang).')
           LEFT JOIN `'._DB_PREFIX_.'image` i ON (i.`id_product` = p.`id_product` AND i.`cover` = 1)
           LEFT JOIN `'._DB_PREFIX_.'image_lang` il ON (i.`id_image` = il.`id_image` AND il.`id_lang` = '.intval($id_lang).')
           LEFT JOIN `'._DB_PREFIX_.'tax` t ON (t.`id_tax` = p.`id_tax`)
           WHERE p.`active` = 1
           ORDER BY '.(isset($orderByPrefix) ? pSQL($orderByPrefix).'.' : '').'`'.pSQL($orderBy).'` '.pSQL($orderWay).'
           LIMIT '.intval($pageNumber * $nbProducts).', '.intval($nbProducts));
       if ($orderBy == 'price')
           Tools::orderbyPrice($result, $orderWay);
       if (!$result)
           return false;
       return $result;
       //return Product::getProductsProperties($id_lang, $result);
   }

Link to comment
Share on other sites

×
×
  • Create New...