THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline


Bonjour les Théliens,

J'aimerais pouvoir changer l'image par défaut qui s'affiche sur la fiche produit lorsque je choisis une déclinaison spécifique (Couleur dans mon cas).
En effet, vu que l'on peut attribuer une image par déclinaison, ce sera plus clair pour les clients (couleur par exemple).

Cette image sera aussi adaptée sur le process paiement (panier).

J'ai cru voir passer un product-sale-elements-image mais je n'arrive pas à en afficher la correspondance.
De plus, j'aimerais éviter un rechargement de la page à chaque fois que l'on sélectionne une déclinaison. Possible ?

Capture front page choix de la couleur
Image suivant déclinaison

Merci de votre aide.

Gil


Gil - Webmarketing - Photographe Google Street View

Offline


Bonjour,

Concernant le changement de photo suivant la déclinaison sur la page produit et panier.
J'ai fait cette PR il y a pas mal de temps maintenant (basé sur Thélia 2.3.3 il me semble)
https://github.com/thelia/thelia/pull/1981

Tu peux t'en inspirer voir la mettre à joru pour Thelia 2.3.4

Offline


Merci.

J'ai regardé, mais effectivement il y a eu du changement dans le core de Thélia entre les 2 versions.J'ai tenté d'afficher la bonne image sur le panier pour commencer, mais sans succès, via "Attribute combination Loop".

En reprenant le modèle du loop d'affichages des déclinaisons, je n'arrive qu'à afficher l'image par défaut n'ayant pas la balise de cette image.

A mon avis, cette fonction est primordiale pour Thélia car elle évite de faire 50 000 rubriques et facilite le travail du client dans certains cas (comme le mien).
En effet, les produits sont réalisés par un artisan potier. Il n'y a pas énormément de produits, mais 6 gammes de couleurs et 3 tailles pour chaque catégorie.
si je n'utilise pas cette fonction, ça devient ingérable dans la config que voulait le client à la base.
Il est convaincu que de mettre une image par déclinaison est l'idéal pour lui.

Mais dans ce cas, déjà, afficher la bonne image sur le panier est une base.
Pouvoir afficher l'image correspondant à la couleur désirée avant commande est une obligation :-)

Help !


Gil - Webmarketing - Photographe Google Street View

Offline


gil wrote:

Merci.

J'ai regardé, mais effectivement il y a eu du changement dans le core de Thélia entre les 2 versions.J'ai tenté d'afficher la bonne image sur le panier pour commencer, mais sans succès, via "Attribute combination Loop".
...
Mais dans ce cas, déjà, afficher la bonne image sur le panier est une base.

Cette fonction a été intégrée dans la version 2.3.4 pour la page panier
https://github.com/thelia/thelia/pull/2414/files

Offline


Oup's j'avais fait la mise à jour mais n'avais pas vu dans  le template default la nouvelle version avec cette fonction :-)

Merciiiiiii !

Bon plus qu'à afficher le bon sur la page produits lors de la sélection de l'option...


Gil - Webmarketing - Photographe Google Street View

Offline


pour faire suite a cette conversation j'ai un probante avec Addedtocart.html

j'ai mis le 1er pr d'informatique prog pour le changement de photo avec les déclinaisons ( au passage il faudrai faire aussi l'inverse: quand on click sur la petite photo le prix et la déclinaison change)

j'ai la dernière version du template, donc j'ai les déclinaisons qui change dans le panier final ------> mais pas de photo (meme pas la par défaut) dans addedtocart.html
par contre sur le panier principal pas de problème

Offline


Hello!

C'est toujours pas en place ce système? Faut le faire soit même en js etc ?


Aide les autres, ils t'aideront en retour.

Offline


Bon apparemment on a

$pse.id.val(pseId).trigger('change.pse', pseId);

Il faut donc faire un module pour qui lance son script par rapport à ce hook-js ?


Aide les autres, ils t'aideront en retour.

Offline


Bon bah j'ai fait ça

<hook id="additional_pse_field.pse_change" class="AdditionalPseField\Hook\HookManager" scope="request">
	<tag name="hook.event_listener" event="product.javascript-initialization" type="front" method="onPseChange" />
</hook>

et

public function onPseChange(HookRenderEvent $event) {
	$event->add("
	<script>
		$(function() {
		   $('#pse-id').on('change.pse', function(event, pseId) {
				console.log('pse id is now ' + pseId);
			});
		});
	</script>
	");
}

j'ai bien le script dans ma page mais pas d'interception...

Last edited by Elyos (15-04-2021 11:39:09)


Aide les autres, ils t'aideront en retour.

Offline


Bon apparemment thelia.min.js n'est pas le même que le thelia.js ...

Du coup j'ai recompilé le thelia.js et remplacer le thelia.min.js

Last edited by Elyos (15-04-2021 11:56:51)


Aide les autres, ils t'aideront en retour.