nobock Posted March 9, 2011 Share Posted March 9, 2011 Hello !Je vous propose ce petit bout de code qui vous créera une arboressence de votre catalogue dans le backoffice en php. Pour le moment le script génère les liens des catégories et des produits. La feuille de style arrivera prochainement. > $categTree = Category::getRootCategory()->recurseLiteCategTree(0); function constructTreeNode($node){ $ret = ''."\n"; $ret .= ''.$node['name'].''."\n"; $q_product='SELECT ps_product_lang.name, ps_product_lang.link_rewrite, ps_product_lang.id_product FROM ps_product , ps_product_lang WHERE ps_product.id_product=ps_product_lang.id_product AND ps_product.id_category_default = '.$node['id'].' AND ps_product_lang.id_lang = 2 '; $r = Db::getInstance()->ExecuteS($q_product); foreach($r as $product) { $ret .= '' ; $ret .= ''.$product['name'].'' ; $ret .= '' ; } if(!empty($node['children'])) { $ret .= '</pre> <ul>'."\n"; foreach ($node['children'] AS $child) $ret .= constructTreeNode($child); $ret .= '</ul>'."\n";<br> }<br> $ret .= ''."\n";<br><br> return $ret;<br>}<br><br>$ulTree = '<div>' . $categTree['name'] . '</div>'."\n";<br>$ulTree .= '<ul>'."\n"; foreach ($categTree['children'] AS $child) $ulTree .= constructTreeNode($child); $ulTree .= '</ul>'."\n";<br><br>echo $ulTree;<br><br Link to comment Share on other sites More sharing options...
Broceliande Posted March 9, 2011 Share Posted March 9, 2011 Salut,C'est en effet une bonne base.Attention au erreurs par contre c'est une fonction récursive.La classe Category fournit une méthode pile poil : getProducts($id_lang, $p, $n, $orderBy = NULL, $orderWay = NULL, $getTotal = false, $active = true, $random = false, $randomNumberProducts = 1) Link to comment Share on other sites More sharing options...
Broceliande Posted March 9, 2011 Share Posted March 9, 2011 Tu peux aussi faire ça qui conserve le comportement d'editorial:Dans /modules/editorial/editorial.tpl , tu remplaces {if $homepage_logo}body->$title|escape:'htmlall':'UTF-8'|stripslashes}" />{/if} par {if $homepage_logo}body->$title|escape:'htmlall':'UTF-8'|stripslashes}" />{/if} Ensuite tu n'as plus qu'a envoyer le fichier homepage_logo.gif, mais par ftp , dans /modules/editorial/ Link to comment Share on other sites More sharing options...
nobock Posted March 10, 2011 Author Share Posted March 10, 2011 Salut,C'est en effet une bonne base.Attention au erreurs par contre c'est une fonction récursive.La classe Category fournit une méthode pile poil :getProducts($id_lang, $p, $n, $orderBy = NULL, $orderWay = NULL, $getTotal = false, $active = true, $random = false, $randomNumberProducts = 1) J'ai trouvé la doc des classes de presta ici : http://shagshag.net/prestadoc/Prestashop/Category.html#methodgetProducts Link to comment Share on other sites More sharing options...
nobock Posted March 10, 2011 Author Share Posted March 10, 2011 Hello !Pour l'instant ne vous prenez plus la tête à essayer de me donner un coup de main sur ce poste. J'ai trouvé comment faire et je pauffine un peu le code ( un double foreach avec appel sql pour produit ) et je le met sur ce poste que je transformerai en tutorial. Je pense que ça aidera pas mal de développeurs qui voudront une fonctions toute faites pour sortir les catégorie + sous catégorie + les produits pour chaque langue. 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