Changer les icônes de la barre d'outils

  • Posts: 462
  • Thank you received: 18
  • Hikashop Business
1 year 4 months ago #353147

-- HikaShop version -- : 4.7.4
-- Joomla version -- : 4.3.2
-- PHP version -- : 8.1.16

Bonjour,
je vois qu’il n’est pas possible de surcharger les icônes de la barre outils pour la liste des chariots et la liste des favoris si ce n’est par le remplacement de la librairie Font Awesome par une image, dommage! :pinch: :(
J’utilise ma propre famille de font icônes Iconmoon.
Pouvez-vous me confirmer qu’il n’y pas pas moyen de surcharger la vue toolbar/default.php pour y intégrer mes propres icônes?

Merci,
Lorenzo

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

  • Posts: 4747
  • Thank you received: 644
  • MODERATOR
1 year 4 months ago #353154

Bonjour,

Je ne confirme pas, car c'est parfaitement possible de créer une surcharge (override) de la vue toolbar/default.
;)
Vous pouvez remplacer les icones fontawesome en créant une override de la vue correspondante, voyez cette documentation pour mieux comprendre comment procéder.
En espérant que cela vous permette de réaliser ce qui vous est nécessaire.
Cordialement

Last edit: 1 year 4 months ago by Philip.

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

  • Posts: 462
  • Thank you received: 18
  • Hikashop Business
1 year 4 months ago #353196

Bonjour,
oui je sais qu’il est possible de surcharger la vue toolbar/dafault, le problème c’est que tous les icônes sont générés par du PHP et il n’est pas possible d’intervenir directement dans le code HTML afin de les éditer au cas par cas.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 4 months ago #353197

Bonjour,

C'est en parti vrai que l'HTML de la toolbar est généré par du PHP.
En fait, c'est à la fois plus compliqué et plus simple.
Vous parlez des paniers et des listes de favoris. Donc j'imagine que vous parlez de la toolbar qui s'affiche lorsque vous affichez un panier ou une liste de souhaits, avec la vue cart / show.
Dans cette vue, c'est le code:

echo $this->toolbarHelper->process($this->toolbar, $this->title);
qui va ensuite appeler tootlbar / default pour générer l'HTML.
Cependant, avant cela, il est tout à fait possible de changer facilement les données dans $this->toolbar pour mettre l'HTML que vous voulez.

Par exemple:
- dans le fichier components/com_hikashop/views/cart/view.html.php, vous pouvez regarder le code qui rempli $toolbar.
- le premier bout de code qui fait cela, c'est:
			$txt = 'EMPTY_THE_CART';
			if($cart->cart_type == 'wishlist') {
				$txt = 'EMPTY_THE_WISHLIST';
			}
			$toolbar['empty'] = array(
				'icon' => 'delete',
				'name' => JText::_($txt),
				'url' => hikashop_completeLink('cart&task=remove&cid='.$cart->cart_id.'&'.hikashop_getFormToken().'=1&Itemid='.$Itemid),
				'javascript' => 'if(window.localPage && window.localPage.confirmDelete) return window.localPage.confirmDelete()',
				'fa' => array(
					'html' => '<i class="far fa-trash-alt"></i>',
				),
			);
- Vous pouvez voir que c'est pour le bouton "vider le panier".
- Et vous pouvez également voir la ligne
'html' => '<i class="far fa-trash-alt"></i>',
qui fourni l'HTML de l'icone pour le bouton.
- Donc au début de votre vue cart / show, si vous rajoutez:
<?php $this->toolbar['empty']['fa']['html'] = 'html que je veux'; ?>
cela remplacera l'icone font awesome du bouton "vider le panier" par "html que je veux"

Donc comme je vous ai montré ci-dessus, la modification a opérer pour changer l'HTML des icones via a un override est simple (1 seule ligne de PHP). Mais ce qui est compliqué, c'est de comprendre le cheminement et de savoir quel code est nécessaire pour faire cela.

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

  • Posts: 462
  • Thank you received: 18
  • Hikashop Business
1 year 4 months ago #353214

merci pour avoir pris le temps de m’expliquer, mais cela dépasse un peu mes compétences, je vais plutôt me pencher par la substitution des fontes icônes par des images :(
...quand vous écrivez “Mais ce qui est compliqué, c'est de comprendre le cheminement et de savoir quel code est nécessaire pour faire cela. “ vous faites référence à l’écriture du code PHP?

Last edit: 1 year 4 months ago by kilou.

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 4 months ago #353216

Oui. Tout à fait.

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

  • Posts: 462
  • Thank you received: 18
  • Hikashop Business
1 year 4 months ago #353251

Bonjour,
j’ai un souci pour insérer mes propres icônes dans la vue toolbar/default.php, le chemin écrit dans ma règle CSS qui pointe vers l’image n’est pas accepté.

Ceci est ma règle CSS

.fa-cart-plus::before {
  content: url("images/sap-photo/icons/myhika-cart-add@2x.png");
  width: 32px;
  height: 32px;
  display: inline-block;
}

La console me renvoie et indique toujours le dossier …media/com_hikashop/css…:

monsite.com/ media/com_hikashop/css/images/sap-photo/icons/myhika-cart-add@2x.png

Comment changer l’adresse URL qui semble forcer la redirection vers le dossier media/css dans com_hikashop?

Vraiment dommage qu’on ne puisse pas éditer ces icône plus facilement…

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

  • Posts: 82863
  • Thank you received: 13372
  • MODERATOR
1 year 4 months ago #353254

Bonjour,

Soit vous mettez l'URL complète dans votre CSS, avec le nom de domaine, soit vous utilisez ../../ pour remonter les dossiers.
Donc si vous avez votre CSS dans un fichier du dossier media/com_hikashop/css et que vous voulez accéder à images/sap-photo/icons/myhika-cart-add@2x.png il faut écrire:

url("../../../images/sap-photo/icons/myhika-cart-add@2x.png");

Vraiment dommage qu’on ne puisse pas éditer ces icône plus facilement…

Comme je disais, c'est faisable assez facilement en PHP, et comme vous le faites, assez facilement en CSS aussi.
Pour que ce soit plus facile, il faudrait une option pour chaque icone. Il y a déjà trop d'options dans HikaShop, donc rajouter une option pour chaque icône utilisée dans HikaShop serait dérangeant pour les gens qui n'ont pas besoin de changer cela.
Je pense que faire cela au niveau du CSS, ou avec un override de vue est approprié.

Last edit: 1 year 4 months ago by nicolas.
The following user(s) said Thank You: kilou

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

  • Posts: 462
  • Thank you received: 18
  • Hikashop Business
1 year 4 months ago #353455

...pour finir avec ReReplacer de RegularLabs le changement d'icônes devient un jeu d'enfant, j'aurai dû y penser avant! :pinch:

The following user(s) said Thank You: nicolas

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

Time to create page: 0.076 seconds
Powered by Kunena Forum