Mise en page menu Liste des catégories

  • Posts: 26
  • Thank you received: 1
2 years 4 months ago #337486

-- HikaShop version -- : 4.4.4
-- Joomla version -- : 4.0.4
-- PHP version -- : 7.4

Bonjour,

J'utilise le menu "Liste des catégories" pour afficher toutes les catégories, puis les produits de la catégorie sélectionnée puis le détail du produit sélectionné. Je souhaite mettre en page chacun de ces affichages. Pas de probléme avec la partie css mais problème avec les surcharges. J'utilise la fonctionnalité avancée "Afficher les fichiers de vue" pour la partie publique pour repérer les fichiers á surcharger.

Pour la Page Détail produit je n'ai pas de problème en surchargeant : product/show.php et product/show_defaut.php

Par contre pour les deux 1er pages j'ai plus de mal, par exemple pour enlever dans la 1er page l'affichage des produits en bas de page ainsi que les infos Afficher x produit et résultat 1 sur x . Disons que je souhaite laisser seulement l'affichage de toutes les catégories. Si je touche listing.php j'y arrive mais la 2éme page est vide ce qui est logique.

Pouvez vous me mettre sur la voie '

Cdlt

Please Log in or Create an account to join the conversation.

  • Posts: 4510
  • Thank you received: 611
  • MODERATOR
2 years 4 months ago #337491

Bonjour,

Pour avoir dans la même vue une fois un élément "caché" et l'autre fois, dans un contexte différent ce même élément affiché, il y a une solution très rapide en Css.

Suivez mon idée étape par étape pour en comprendre le principe & voir comment procéder :
- Voyez cette documentation pour comprendre comment ajouter des commandes Css à vos fichier css frontend, nous vous recommandons d'utiliser "Styles for the front-end".
- Puis construisez votre command css, et surtout votre selector en 2 parties :
Example :
.context1_html_class .element_html_class {
display: none;
}
.context2_html_class .element_html_class {
display: block; // Ou bien "inline-block" ou "inlin" en fonction des besoin.
}

=> "context1_html_class" & "context2_html_class" sont donc des class spécifique à 2 context différent qui vous vous permette de limiter votre commande Css seulement où cela est nécessaire mais aussi de varier les commandes page par page.

En espérant que cela vous aide à obtenir ce dont vous avez besoin.
Cordialement

Last edit: 2 years 4 months ago by Philip.

Please Log in or Create an account to join the conversation.

  • Posts: 26
  • Thank you received: 1
2 years 4 months ago #337523

Merci beaucoup pour votre réponse précise et rapide. ça m'a permis d'avancer dans la compréhension mais ça dépasse mes compétences j'aurais besoin d'un petit coup de pouce de plus :

  1. Modifier le Frontend css en ajoutant un fichier avec Style de la partie publique = Parfait, bien compris
  2. Trouver le block qui m'intéresse OK, en l’occurrence c'est la class=hikashop_submodules. Si je le met en display:none dans le css frontend il ne s'affiche effectivement plus.
  3. Par contre context1_html_class je comprend l'idée mais je ne vois pas comment l'écrire. Grosso modo je voudrais ne pas l'afficher dans la 1er page du menu (La liste des cat) mais forcément l'afficher dans la seconde page (La liste des produits de la catégorie sélectionnée). Quel sélecteur dois je utiliser pour identifier ces deux pages ?
Accessoirement je me demandes si je n'ai pas raté un paramétrage simple permettant de n'afficher aucun submodule dans la 1er page du menu en question (Liste des catégories) ?

Please Log in or Create an account to join the conversation.

  • Posts: 81515
  • Thank you received: 13069
  • MODERATOR
2 years 4 months ago #337557

Bonjour,

Si vous regardez l'HTML de la page principale et l'HTML de la page lorsque vous avez cliqué sur une catégorie, vous avez quelque chose comme cela:
i.imgur.com/FMqMNkP.png
A gauche, la page principale, à droite la page d'une catégorie.
Vous voulez enlever le listing des produits de la page sur la gauche et le garder sur la page de droite.
Si vous regarder quel div en particulier affiche le listing des produits, cela peut en effet être celui avec la classe hikashop_submodules
Or ce div est aussi utilisé sur la page de droite pour le listing des produits.
C'est là qu'interviennent context1_html_class et context2_html_class. Le but étant de trouver un div parent du div que vous voulez cacher avec une class / id différent entre les deux pages.
Par exemple, vous avez le div avec l'id hikashop_category_information_menu_123 dans les deux pages. Et si vous regardez les classes de ce div, vous notez que la dernière classe est différente. D'un coté c'est hikashop_category_listing_81 et de l'autre c'est hikashop_category_listing_86
81 et 86 sont en fait les ids de la catégorie principale sur chaque page.
Donc si vous écrivez:

.hikashop_category_listing_81 .hikashop_submodules{ display:none; }
vous cacherez le div du listing des produits uniquement sur la page de la catégorie 81.

Après, c'est une solution, mais je ne pense pas que cela soit la meilleure.
Dans la page d'options de votre élément de menu, vous avez une option "sub elements filter" dans l'onglet "products options" qui permet de dire si vous voulez afficher sur chaque page uniquement les sous éléments (produits) directement liés à la catégorie courante ou tous les sous éléments. Vous devez surement avoir cette option configurée sur "tous les sous éléments" et du coup, la page principale affichage les produits liés aux sous catégories. En changeant ce paramètre pour n'afficher que les sous éléments directs, vous devriez avoir automatiquement l'affichage que vous souhaitez, sans besoin de CSS.

The following user(s) said Thank You: Philip

Please Log in or Create an account to join the conversation.

  • Posts: 26
  • Thank you received: 1
2 years 4 months ago #337564

Un grand merci pour cette explication détaillée. Les deux fonctionnent et comme je m'en doutais un peu c'était plus simple que ce que je cherchais.
Le probléme est réglé mais je ne trouve pas le moyen de mettre le post en Réglé
Encore merci

The following user(s) said Thank You: nicolas

Please Log in or Create an account to join the conversation.

Time to create page: 0.064 seconds
Powered by Kunena Forum