Jump to content

comment insérer ce visuel


Recommended Posts

Utilise les déclinaison avec une palette de couleurs pour la couleur des tshirt. Par contre c'est pas possible d'avoir plusieur palette de couleurs dans presta. Peut être cette fonctionnalité à ajouter au prochaine version ?

Link to comment
Share on other sites

  • 2 weeks later...

J'avait passé un peu de temps pour analiser le processus des palette sous presta. Logiquement une palette de couleurs est crée, avec dedans des simples liens et un javascript onclick="updateColorSelect(color_id);" . ils sont générés dans le product.tpl via un foreach $colors ( ou un truc du style ).

Le javascript ce trouve dans le votretheme/js/product.js et est appelé via l'instruction :


function updateColorSelect(id_attribute)
{
   // Visual effect
   $('#color_'+id_attribute).fadeTo('fast', 1, function(){    $(this).fadeTo('slow', 0, function(){ $(this).fadeTo('slow', 1, function(){}); }); });
   // Attribute selection
   $('#group_'+id_color_default+' option[value='+id_attribute+']').attr('selected', 'selected');
   $('#group_'+id_color_default+' option[value!='+id_attribute+']').removeAttr('selected');
   findCombination();
}



Ensuite je bloque, logiquement il faudrait rajouter des variable de groupe dans le php qui génère les couleurs et couplé ça avec le javascript et les liens de palettes. Et toucher au coeur de presta c'est pas top, car ensuite pour les mise à jours ça fout le bordel.

Bon sinon j'ai une autre idée, mais c'est une vrai méthode de bourrin. En gros rajouter lors de la création des options dans le tpl associer un jpg "manuellement" à chaque options.

Sinon j'ai une question au niveau du developpement et des hook, en ce moment je suis en train de finaliser un module pour le backoffice, et je veut qu'il soit dans le catalogue tab images.

Le backoffice possède t'ils des hook ( j'ai rien trouvé dans la doc )

ps : pour moi le plus gros défaut de prestashop c'est de ne pouvoir éditer sont panier. C'est très problématique sur un produit qui comporte beaucoup d'options, car une fois ajouté on panier ont doit supprimer / recommencer la commande.

Link to comment
Share on other sites

baah..... ben on est pas sorti de l'auberge là... moi j'avais essayer de copier coller dans le product.tpl la partie qui concernait la palette. J'ai essayé un bidouillage en ajoutant une nouvelle tab, mais comme j'y connais rien en mysql ben ça n'a rien fait ^^.


Donc toujours au point 0 c'est dommage, parce que ça pourrait se développer vraiment bien. Faudrait que dans le back office, la palette soit gérée un peu comme pour la customization, où c'est l'administrateur qui choisi combien va y avoir de palette etc...

après, chui pas développeur donc ça reste vaguement flou :)

Link to comment
Share on other sites

Perso j'ai jamais eu de bugg au niveau de la palette. j'ai toujours pu utiliser autant de couleurs que je voulait, il suffit juste d'adapter la feuille de style. Après c'est toujours la même chose avec le web et les logiciels en général. On peut très bien tomber sur une boutique qui à éxactement ce que tu veut, mais en général tu perdra en souplesse.

Sinon je t'explique ma solutions de "porc" peut être que ça pourrait te servir. Sachant que chaque couleur de palette à sont ID, tu peut très bien utiliser ces id et le coupler avec une couleurs dans le select.

On va partir d'un exemple concret ( http://www.addicteesh.com ) . Cette fiche possède 7 couleurs et utilise les palettes. Prenons la couleur violet pour exemple, et quand on analise le code du carré violet :





Traduction : Prestashop un lien cliquable ayant pour identifiant 26 , et charge l'image 26.jpg dans img/c. Quand on clique sur le liens, il met à jours le choix dans la liste déroulante sur le code suivant :



Couleur du T-shirt :

Blanc
Bleu Foncé
Charcoal
Dark Chocolate
Noir
Vert Clair
Violet





Traduction : Prestashop génère une liste déroulante avec pour id de groupe le numéro 4 et une option pour chaque couuleur sélectionné avec un id associé. En regardant de plus prêt, on remarque que le violet dans les option possède exactement le même ID que dans le carré de couleur, il y a donc association des deux.



Maintenant je vais tenter d'analiser le .tpl de presta pour voir ce qu'il à dans le ventre (product.tpl ) :


La palette de couleurs :


{if $colors}
<!-- colors -->


{l s='Pick a color:' js=1}

{foreach from=$colors key='id_attribute' item='color'}
{if file_exists($col_img_dir|cat:$id_attribute|cat:'.jpg')}{/if}
{/foreach}



{/if}




ps : j'ai déja essayé de modifier ce code par le passé rien n'y fait

Et les liste déroulantes :



{if isset($groups)}

{foreach from=$groups key=id_attribute_group item=group}


{$group.name|escape:'htmlall':'UTF-8'} :
{assign var='groupName' value='group_'|cat:$id_attribute_group}

{foreach from=$group.attributes key=id_attribute item=group_attribute}
{$group_attribute|escape:'htmlall':'UTF-8'}
{/foreach}


{/foreach}

{/if}





Et c'est la ligne


{$group_attribute|escape:'htmlall':'UTF-8'}




Qui contrôle la génération de l'option. Donc normalement si on dépoussière pour ne garder que le stric minimum :


{$group_attribute|escape:'htmlall':'UTF-8'}




Et donc ma solution de "porc" serait de rajouter une image dans l'option une image de fond ayant pour url la même que la palette. Donc théoriquement cela donne :



{$group_attribute|escape:'htmlall':'UTF-8'}



Donc logiquement, si maintenant je rafraichi la page, et que j'ouvre un select, je devrait avoir pour image de fond dans l'option, ma palette de couleurs. ( voir pièce jointe ).

31921_yB8jFKfsmMlKJU1qO9mr_t

Link to comment
Share on other sites

Ouais ouais je vois. Mais sur ce, sur quoi je travail, ce n'est pas des couleurs.

En fait jutilise la palette couleurs pour des typo et des images

exemple le mec veut cette typographie avec cette image.

Ca a bien marché avec le premier, où j'avais remplacé les couleurs par des textures (image de typo). Alors peut-être que pour les formes a graver j'ai qu'a mettre les images en dur. Pas d'ID mais des liens vers des images, genre : boutique/img/formesagraver/coeur.jpg, boutique/img/formesagraver/trefle.jpg, boutique/img/formesagraver/bague.jpg etc

31911_LeKD8mxTkriMT32jwJUS_t

Link to comment
Share on other sites

J'ai pas encore finit, j'écrit et je poste au fur et a mesure. D'ailleur la je fait un deuxième car plus de place sur le premier

------------------ Continuation de l'explication multicolor

Donc maintenant on à la structure de base, chaque option à comme fond l'image de notre palette mis il reste encore pas mal de boulot, certain truc seront assez simple, et pour d'autre j'aurai besoins d'un coup de main.

les options ( FO / product.tpl ) :

. Forcer l'ouverture du select ( logiquement c'est du simple html )
. Détecter la taille de l'image pour redimensionner l'option et l'associer au css ( il doit y avoir une fonction smarty pour ça )
. Virer le titre de l'option et rajouter un rollover explicatif ( il y a un plugin jquery pour ça )
. Rajouter une classe css a l'option ( ça fait jamais de mal :) )
. Dectecté si le select doit être traité en temps que multicolor ou non ( via un module dans le bo )

Le backoffice ( modules multicolor ).

. Créer une table sql associé à l'id de charge produit et un champ pour stocker les id de palettes ( séparé par des , )
. Créer un fichier php qui charge le tout supportant un include, et des case à coché pour les declinaisons qui ont été choisis.

Le backoffice ( catalogue / déclinaisons )

. Charger via un include le module dans le bas de la page


Conclusion pour créer ce truc il faudrait quand même pas mal d'heure de boulot. et beaucoup de test mais cela devrait fonctionner. Personnellement je suis pas trop à l'aise avec smarty ni le sql, si ça branche des gens d'essayer de finaliser la chose je suis sur que ça pourrait interesser pas mal de monde.


Sinon il reste la solution de "porc" qui serai réalisable assez vite car au lieu de faire un module, il suffirait d'activer par défaut les palettes sur toute les options. Mais du coup si tu veut un produit sans ce système, ça sera plus compliqué. Après faut voir, on peut rajouter des détecteur simple de catégorie / rubrique derrière.

Link to comment
Share on other sites

Enregistrer des déclinaisons c'est pas vraiment un problème la preuve ça marche aussi sur ton shop. A chaque fois que tu active la palette dans les déclinaisons et que tu enregistre un jpg, presta renomme le nom de ton image en id_color.jpg.

Le gros soucis c'est juste de créer le détecteur via le module.

Link to comment
Share on other sites

j’ai essayé une solution “de porc” aussi

j’ai mis ça juste après le code de la palette : ( c'est pas click="updat... mais onclick="update, je crois que le forum ne prend pas en charge ces variables)

{if $colors}
                   <!-- colors -->










et ça m'affiche l'image jointe.

EDIT : Parcontre quand je clique sur l'une des trois image, ça n'est pas pris en compte dans le panier et prennent la valeur de ma première "couleur" dans la palette.... ><"

31926_6DpVM9ua7zl6VXjYQs2h_t

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Bonjour

voilà je suis nouveau sur ce forum je viens juste de m’inscrire j’utilise prestashop 1.3.2
et j’aimerais utiliser mon site pour la conception de faire-part mais voilà pas facile pour moi je suis nul au niveau codage et ce que j’aimerais obtenir c’est ça… entrer vos textes pour passer à l‘étape 2 je suis régulièrement tous vos messages et c’est bien grâce au forum que j’y parviens

encore merci

Pouvez-vous m'aider SVP

Link to comment
Share on other sites

Salut. Dans ton back office, tu vas dans ton catalogues -> le produit -> 5.personnalisation -> Champ fichier pour les fichier à envoyer et Champ texte pour les champ de texte que tu souhaite avoir.

En ce qui concerne le fait de changer de bouton "envoyer au panier" en " etape 2 texte" , je sais pas trop. C'est du javascript et je vois pas trop a moins de bidouiller le code ;)

Link to comment
Share on other sites

Il faudrait vraiment le site en ligne, pour récupérer le nom du textarea (ou Id) par exemple.

Avec du JQuery (javascript amélioré on va dire), tu peux cacher le bouton du panier ou le désactiver, et le réactiver une fois que l'utilisateur a rempli son formulaire.
Avec 3 lignes, ça devrait être bon, mais il me faut les ID des différents éléments...

Link to comment
Share on other sites

  • 1 month later...

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...