MCyril Posted November 2, 2011 Share Posted November 2, 2011 Bonjour, Est-il possible de cibler précisément les pages ou catégories sur lesquelles doivent s'afficher les modules de la colonne de gauche? Dans la gestion des positions, seule l'exclusion d'une page semble possible... Y-a-t'il une syntaxe particulière ou un guide de référence sur ce sujet? Merci, C. Link to comment Share on other sites More sharing options...
MCyril Posted November 2, 2011 Author Share Posted November 2, 2011 Personne n'a jamais rencontré ce problème??? Tout le monde utilise la sidebar pour afficher invariablement les mêmes informations sur toutes les pages? Cela m'étonne énormément de la part d'un CMS si avancé par ailleurs. Est-ce que j'ai loupé quelque chose? Link to comment Share on other sites More sharing options...
devmtl Posted November 16, 2011 Share Posted November 16, 2011 ^^ je me pose la même question. Il me faudrait en fait 2 sidebars, une pour la home avec un menu plus graphik et une autre pour les pages de categories produit avec la liste des sous-categories et plus si affinités Une idée ?? Link to comment Share on other sites More sharing options...
MCyril Posted November 16, 2011 Author Share Posted November 16, 2011 Si seulement quelqu'un de chez PrestaShop pouvait répondre... Link to comment Share on other sites More sharing options...
devmtl Posted November 16, 2011 Share Posted November 16, 2011 Ca semble possible, j'ai trouvé ce site qui affiche un menu dans la sidebar different selon la categorie choisie... pour le reste en fait pas mal de monde utilise des menus horizontaux... http://www.madeleinemarket.com/ Link to comment Share on other sites More sharing options...
devmtl Posted November 17, 2011 Share Posted November 17, 2011 Personne ? J'aurais vraiment besoin d'un coup de pouce là dessus. Merci Link to comment Share on other sites More sharing options...
astree Posted November 22, 2011 Share Posted November 22, 2011 Un début de solution là ? http://addons.prestashop.com/fr/fonctionnalites-front-office/2857-blocktinycategorie.html Je ne connais pas mais ça semble concerner seulement les catégories. C'est déjà pas mal, j'ai rien d'autre sur le sujet, je continue mes recherche moi aussi. Link to comment Share on other sites More sharing options...
Sbizz Posted November 22, 2011 Share Posted November 22, 2011 Salut. J'ai du mal à comprendre votre demande : - Souhaitez-vous faire apparaitre / disparaitre des block dans les colonnes en fonction de la page ? - Souhaitez-vous changer la position d'un block dans les colonnes en fonction de la page ? Dans le premier cas, c'est assez facile : - vous pouvez détecter la page appelée grâce à une fonction : __FILE__ combiné avec la fonction basename de PHP. - avec une condition, vous envoyez les informations souhaités. Exemple pour un hookLeftColumn : public function hookLeftColumn($params) { $page = basename(__FILE__); if ($page == 'category.php') return $this->display(__FILE__, 'mytemplate1.tpl'); if ($page == 'product.php') return $this->display(__FILE__, 'mytemplate2.tpl'); if ($page == 'index.php') return $this->display(__FILE__, 'mytemplate3.tpl'); } - vous pouvez faire pareil avec les balises smarty : {if ($smarty.const.__FILE__|basename == 'category.php')} <div>Toto 1</div> {/if} {if ($smarty.const.__FILE__|basename == 'product.php')} <div>Toto 2</div> {/if} {if ($smarty.const.__FILE__|basename == 'index.php')} <div>Toto 3</div> {/if} Dans le second cas, je ne sais pas vraiment comment faire, mais ça doit être facilement possible étant donné qu'on peut le faire dans le liveEdit, mais il faut gérer pas mal de truc. M'enfin, ça reste bien chiant et je trouve ça vraiment inutile.. donc je chercherai pas vraiment plus loin, je vous ai donné pas mal d'informations PS: C'est vraiment de l'arnaque de faire payer les gens 30€ pour un module si simple à réaliser.... Link to comment Share on other sites More sharing options...
astree Posted November 23, 2011 Share Posted November 23, 2011 merci pour ton intervention, Sbizz. Je vais pouvoir commencer avec ça. En fait, le contenu des pages change suivant les catégories chez moi. Enfin j'essaie. - des blocs contenu "tout simple" changent, - l'accueil des catégories aussi : sliders différents, blocs qui normalement sont en home...(pour ça je pensais faire des hooks que j'appelle suivant la catégorie" mais je vais étudier ta solution aussi.) Mais ce que je n'ai pas encore réussi à faire c'est faire changer le bloc "catégorie" (colonne de gauche). Je voudrais qu'il affiche seulement la catégorie qu'on est en train de visiter. (avec ses sous catégories). J'ai trouvé pas mal de questions sur le forum mais jamais de solutions complètes, juste des pistes. Si quelqu'un sait... (sur presta 1.4.4) Link to comment Share on other sites More sharing options...
Sbizz Posted November 23, 2011 Share Posted November 23, 2011 Mais ce que je n'ai pas encore réussi à faire c'est faire changer le bloc "catégorie" (colonne de gauche). Je voudrais qu'il affiche seulement la catégorie qu'on est en train de visiter. (avec ses sous catégories). C'est la solution dont je parle plus haut, sauf qu'au lieu de voir seulement la page PHP, vous regardez aussi l'existence et la valeur de la variable GET "id_product". D'ailleurs, si c'est SEULEMENT le nom de la catégorie, une simple requête suffit... (fait à l'arrache, possibilité d'erreurs) : public function hookLeftColumn($params) { global $smarty; // On recupere l'id de la categorie $id_category = (int)Tools::getValue('id_category'); $category = null; // On execute la requete que si on est sur la page des categories et si la categorie est valide if (basename(__FILE__) == 'category.php' AND $id_category > 0) { // On recupere le nom de la categorie $category = Db::getInstance()->getRow('SELECT cl.`name` FROM `' . _DB_PREFIX_ . 'category_lang` cl WHERE id_category = ' . (int)$id_category); } // On verifie qu'on a récuperé une categorie, sinon on dit qu'elle est inconnue $category (($category['name']) ? ($category['name']) : ('Inconnue')); // On assigne à smarty $smarty->assign('category_name', $category['name']); // On affiche le template $this->display(__FILE__, 'templateLeftColumn.tpl'); } Et tu récupères donc le nom {$category_name} dans ton template.. Link to comment Share on other sites More sharing options...
astree Posted November 24, 2011 Share Posted November 24, 2011 Voilà des idées bien pratiques ! Il y a de quoi faire pas mal de choses déjà avec ça. Ca fonctionne à l'inverse des exceptions dans le positionnement des modules : on choisit ou on veut que ça marche. Merci, je vais pouvoir avancer avec ça. Link to comment Share on other sites More sharing options...
sly Posted November 25, 2011 Share Posted November 25, 2011 Bsr, Je cherche à faire la même chose au niveau des catégories, Sbizz pourrais-tu m'indiquer ou mettre le bout de code que tu as donné , thkx Link to comment Share on other sites More sharing options...
Sbizz Posted November 25, 2011 Share Posted November 25, 2011 Que veux-tu faire exactement ? Le code que je viens de donner, c'est pour créer un module, qui va afficher un block (ou des informations) en fonction de la catégorie si tu te trouves sur la page category.php (donc sur une catégorie). Link to comment Share on other sites More sharing options...
sly Posted November 25, 2011 Share Posted November 25, 2011 oki merci, car je finissait a ne plus rien comprendre... Non je voudrais que le block categories n' affiche seulement la catégorie qu'on est en train de visiter avec ses sous catégories.. J'ai bien trouver un topic sur le forum ,ici, mais j'utilise la derniere version de prestashop 1.4.6 et ça ne fonctionne pas, j'ai regardé le code des fichiers du block mais je ne vois pas ou je dois modifier. merci pour ta réponse rapide, je vais continuer de chercher. bonne journée Link to comment Share on other sites More sharing options...
sly Posted November 25, 2011 Share Posted November 25, 2011 Bon c'est résolu, Link to comment Share on other sites More sharing options...
astree Posted November 25, 2011 Share Posted November 25, 2011 T'as fait comment sly ? 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