chantane Posted July 28, 2012 Share Posted July 28, 2012 (edited) Bonjour, La fonction getSubCategories() appelée pour le controller "category" renvoie un tableau des sous catégories avec les noms, link rewrite et méta données. Dans le tpl la fonction getCategoryLink() appelée pour chaque sous categorie teste si le paramètre category est un identifiant, ou un objet, mais ne teste pas s'il s'agit d'un tableau. Dans category.tpl, c'est l'identifiant qui est passé en paramètre. par conséquence la fonction getCategoryLink() est appelée deux fois pour chaque sous catégorie (une fois pour le nom et une fois pour l' image). A chaque appel, il y a instanciation d'un objet catégorie et accès à la BDD pour aller rechercher des informations qui existent déjà dans le tableau renvoyé par getSubCategories(). Il faudrait ajouter dans link.php la possibilité de passer un tableau de valeurs et pas seulement un objet. ou utiliser la conversion en objet dans getSubCategories(). Edited August 1, 2012 by chantane (see edit history) Link to comment Share on other sites More sharing options...
chantane Posted July 31, 2012 Author Share Posted July 31, 2012 (edited) Dans la classe category.php, dans la fonction getLinkRewrite() Pour des raisons de performance, dans cette requête, une seule table est utile au lieu de deux ! SELECT cl.`link_rewrite` FROM `'._DB_PREFIX_.'category` c LEFT JOIN `'._DB_PREFIX_.'category_lang` cl ON c.`id_category` = cl.`id_category`'.Shop::addSqlRestrictionOnLang('cl').' WHERE `id_lang` = '.(int)$id_lang.' AND c.`id_category` = '.(int)$id_category); la table category, n'est pas utile SELECT cl.`link_rewrite` FROM `'._DB_PREFIX_.'category_lang` cl WHERE `id_lang` = '.(int)$id_lang.' '.Shop::addSqlRestrictionOnLang('cl').' AND c.`id_category` = '.(int)$id_category); Edited July 31, 2012 by chantane (see edit history) Link to comment Share on other sites More sharing options...
Ninja Of Web Posted August 1, 2012 Share Posted August 1, 2012 Bonjour Chantane, Merci pour tes posts. Je viens de modifier la requête de "getLinkRewrite()" sur le SVN. Cordialement, Loic. Link to comment Share on other sites More sharing options...
chantane Posted August 5, 2012 Author Share Posted August 5, 2012 Merci, Et pour la première demande (getCategoryLink) Qu'en est-il ? Vous pouvez encore améliorer le code. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now