COMMANDE VIANDE DETAILS ET AU POIDS (Créer un compte)

  • WordPress :5.7
  • Statut : non résolu
  • Ce sujet contient 14 réponses, 2 participants et a été mis à jour pour la dernière fois par ferman, le il y a 4 minutes.
15 sujets de 1 à 15 (sur un total de 15)
  • Auteur
    Messages
  • #2372751
    Gael13007
    Participant
    Initié WordPress
    8 contributions

    Bonjour,

    Ma configuration WP actuelle

    • Version de PHP/MySQL :
    • Thème utilisé : Storefront
    • Extensions en place : Woocommerce
    • Nom de l’hébergeur : Godaddy
    • Adresse du site : volailles-delrieu.com

    Problème(s) rencontré(s) : affichage des prix dans le panier erronés

     

    Bonjour,

    Je cherche à créer un site de commande en ligne de viande au détail et en colis. Par soucis de proposer un prix au plus juste, tous les tarifs sont affichés au kg et le paiement se fait à la livraison ( pas de paiement en ligne ). Le prix des produits est donc variable (Exemple : 1 poulet à 8€/kg est proposé à la vente mais son poids peut varier entre 1,5 et 3 kg).

    Quand j’ajoute des produits dans mon panier, il ne comptabilise donc que le prix indiqué et m’affiche un total erroné (Exemple : je commande 1 poulet , le panier total affiche 8€ alors que le client paiera entre 12 et 24€). Même si j’informe sur chaque fiche produit que le prix indiqué est au kilo, je crains que cela ne crée des confusions à la livraison et gêne l’expérience utilisateur.

    Je cherche quelques lignes de CSS qui me permettrait de résoudre ces deux problèmes :

    “Comment retirer l’affichage du total dans le Panier ?”

    “Comment retirer l’affichage de prévisualisation du prix total ?” (voir image ci-joint)

    J’ai installé Woocommerce qui me semble la solution la plus appropriée pour cela.

    Merci d’avance !!

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2373032
    ferman
    Participant
    Maître WordPress
    3861 contributions

    Bonjour,

    C’est possible mais je pense pas avec des CSS. Le problème étant la condition: elles ne doivent s’appliquer que pour un produit donné.Par contre il existe des fonctions PHP toutes faites (1), (2) qui permettent de faire ce qui vous voulez. Il faut d’abord pour le produit que vous voulez vendre au détail mettre le prix à zéro. Ensuite pour le (les produits) ayant ce prix nul, on remplace la somme 0 par un texte.

    function changeFreePriceNotice1($price) {
    	
    		if ( $price == wc_price( 0.00 ) ){
    	
            return 'prix selon poids (8€/kg)';
    	}
        else
            return $price;
    }
    add_filter( 'woocommerce_get_price_html', 'changeFreePriceNotice1' );
    add_filter( 'woocommerce_cart_item_price', 'changeFreePriceNotice1' );
    add_filter( 'woocommerce_cart_item_subtotal', 'changeFreePriceNotice1' ); 
    add_filter( 'woocommerce_cart_subtotal', 'changeFreePriceNotice1'); 
    add_filter( 'woocommerce_cart_total', 'changeFreePriceNotice1' );

    La fonction est à copier/coller dans functions.php d’un thème enfant ou si vous n’avez pas de thème enfant en utilisant le plugin “my-custom-functions“.

    Dans le premier cas il vous faut un accès FTP. Dans le deuxième, en principe non mais en fait si (en cas de problème). Pour “my- custom-functions” lisez les FAQ pour savoir comment rétablir (facilement) la situation en cas de problème.

    Là j’ai précisé un prix par kg que vous pouvez changer (il suffit d’écrire autre chose dans la fonction), donc la fonction n’est valable que pour un produit (ou plusieurs s’ils ont tous le même prix au kg). Si vous voulez qu’elle soit  générale, il suffit d’enlever la mention “8€/kg. Vous pouvez l’appliquer également avec plusieurs prix/kg mais il faudra ajouter une condition.

    Cela fonctionne sans problème chez moi. Si vous avez des questions j’essaierai d’y répondre.

    • Cette réponse a été modifiée le il y a 3 semaines par ferman.
    #2374654
    Gael13007
    Participant
    Initié WordPress
    8 contributions

    Bonjour,

    Merci beaucoup pour votre réponse !!

    Si je comprends bien, il faut que je mette le prix de chaque produit que je vends à zéro ? (il y en a 250 donc ça fait pas mal de boulot) ? Car pour l’instant, j’ai tenté de mettre en place cette fonction mais elle ne fonctionne pas car tous mes produits ont des prix différents.

    En soi, le fait que le prix soit affiché au kilo dans le panier ne me dérange pas, ce que je voudrais c’est cacher le total et / ou retirer la prévisualisation du panier.

     

    Est-ce que ce serait possible de consulter votre site web pour mieux me rendre compte du rendu s’il vous plait ?

    Merci en tous cas

    #2374726
    ferman
    Participant
    Maître WordPress
    3861 contributions

    Est-ce que ce serait possible de consulter votre site web pour mieux me rendre compte du rendu s’il vous plait ?

    Malheureusement, non: je n’utilise pas ça  en ligne. C’est testé en local donc par définition pas visible à l’extérieur. Par contre je vous mets en pièce jointe 3 copies d’écran. 1 la page catégorie et la page produit, 2 le panier, 3 la commande. Je ne savais pas que vous aviez 250 produits à vendre  au kg. Je pensais que cela concernait quelques produits et que vous vendiez la majorité des produits en ligne. Donc le code permettait ça: vente en ligne ou vente au kg payé sur le point de vente. à Si ça s’applique à tous, c’est une autre histoire et si en plus le prix au kg varie pour chaque produit…Il faudra trouver un autre système. Si vous voulez simplement cacher le prix total par des CSS, c’est facile (me le confirmer).  D’autre part, c’est plutôt votre problème, mais si vous mettez un vrai prix au lieu de zéro et que le client passe la commande en ligne il risque d’y avoir une comptabilité un peu compliquée puisque les prix des commandes enregistrés par woocommerce ne seront pas ceux réellement payés par le client.

     

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2374741
    Gael13007
    Participant
    Initié WordPress
    8 contributions

    Je vous met un lien vers la page “comment ça marche” pour que vous puissiez mieux comprendre quel est le système de fonctionnement : https://volailles-delrieu.com/comment-ca-marche/

    En ce qui concerne la comptabilité, elle est faite a postériori des livraisons donc pas de soucis de ce côtés là, même si ce serait plus simple mais bon (ce n’est pas moi qui décide…)

    Je cherche donc à cacher le prix total et la prévisualisation (image 1 et 2) pour n’avoir qu’un “récapitulatif de commande” (image 3). Si c’est possible de changer la dénomination “prix” pour “prix au kilo” et supprimer la colonne “sous total” ce serait vraiment le top. c’est la seule solution que j’ai trouvé, mes clients veulent conserver ce système de fonctionnement “comme au marché”.

    merci à vous

     

     

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2374744
    Gael13007
    Participant
    Initié WordPress
    8 contributions

    3

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2374748
    ferman
    Participant
    Maître WordPress
    3861 contributions

    Je vais regarder. Ce ne doit pas être très compliqué à faire.

    #2374750
    ferman
    Participant
    Maître WordPress
    3861 contributions

    Essayez en mettant le code ci-dessous dans les CSS additionnelles du thème. Normalement ça met “prix par kg” à chaque endroit où il y a un prix (boutique, produit, panier, commande). Sauf pour le prix total où le texte est “Le prix sera déterminé à la livraison ”

    Vous pouvez bien sûr modifier ces textes. Si vous voulez  que les textes n’apparaissent pas pour tous les prix (par exemple pas sur la page boutique), dites-le moi, c’est facile à modifier. De même s’il y a des endroits où ça manque.

     

    bdi:before{content:"prix par kg ";
    }
    .product-subtotal bdi{font-size:0px;
    }
    .product-subtotal bdi:before{content:"Le prix sera déterminé à la livraison ";
    font-size:20px;
    }
    .order-total bdi{font-size:0px;
    }
    .order-total bdi:before{content:"Le prix sera déterminé à la livraison ";
    font-size:20px;
    }
    .cart-subtotal bdi{font-size:0px;
    }
    .cart-subtotal bdi:before{content:"Le prix sera déterminé à la livraison ";
    font-size:20px;
    }
    small.includes_tax{font-size:0px;
    }

    • Cette réponse a été modifiée le il y a 20 heures et 36 minutes par ferman.
    #2374752
    Gael13007
    Participant
    Initié WordPress
    8 contributions

    GENIAL !!!

    Merci de tout coeur !

    Sur la page boutique c’est hyper bien. J’ai un seul petit problème, je vends aussi des articles à l’unité (ou prix fixe). Est-ce qu’il y aurait un moyen de ne pas appliquer ce css sur certains produits ou c’est vraiment galère ? Sinon je retirerais tout simplement le “prix par kg” de la page boutique (j’ai compris comment on faisait).

    Il me reste juste la prévisualisation (image 1) du prix que je souhaiterais retirer pour ne garder que le nombre d’articles car visuellement ça gène (le prix monte trop vite).

    Je ne sais pas comment vous remercier !

     

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2374779
    ferman
    Participant
    Maître WordPress
    3861 contributions

    Bonjour,

    Pour enlever le prix/kg pour certains produits, vous repérez l’id du produit et vous mettez un contenu “after” vide suivant le modèle ci-dessous (pour volailles->poule farcie)

    .post-607	bdi::after{content:" ";
    }

    Le problème est que ça ne sera pas répercuté au niveau du panier ni de la commande. Ce ne sera pas possible par CSS.  Et pour le faire autrement je ne suis pas sûr que ce soit possible simplement. Je vais quand même regarder.

    Il me reste juste la prévisualisation (image 1) du prix que je souhaiterais retirer pour ne garder que le nombre d’articles

    Où exactement voit-on ça? sur quelle page?

    • Cette réponse a été modifiée le il y a 10 heures et 20 minutes par ferman.
    #2374784
    Gael13007
    Participant
    Initié WordPress
    8 contributions

    Ok je vais voir ça, on peut le trouver sur le code source de la page et le reporter sur le css additionnel ?

    En ce qui concerne la prévisualisation, c’est ce qui se trouve en haut à droite de l’image, jevous met en pièce jointe une capture d’écran

     

    Fichiers joints :
    Vous devez être connecté pour voir les fichiers joints.
    #2374841
    Gael13007
    Participant
    Initié WordPress
    8 contributions

    j’ai trouvé

    #2374878
    ferman
    Participant
    Maître WordPress
    3861 contributions

    Qu’avez-vous trouvé pour que je sache ce qu’il reste à résoudre? De mon côté, je pense avoir trouvé une méthode pour exclure les produits vendus au détail et non au poids du champ des CSS additionnelles. Cela  n’a pas été facile car il y a beaucoup d’endroits où les prix apparaissent, il faut trouver un point commun entre ces endroits (le nom du produit) et les CSS ne marchent pas (en tout cas je n’ai pas trouvé). Il faut utiliser du Javascript et c’est plus compliqué.

    Tenez-moi au courant. Si vous n’avez pas résolu cette partie de votre problème, je vous passerai une fonction à essayer.

    • Cette réponse a été modifiée le il y a 1 heure et 9 minutes par ferman.
    #2374884
    Gael13007
    Participant
    Initié WordPress
    8 contributions

    J’ai résolu le problème des produits vendus au détail et d’autres non avec votre ligne de css, ça me convient parfaitement, ne vous embêtez pas !

    En ce qui concerne le preview du prix j’ai insérer ce code css, mais ça retire tout le preview et dans l’idéal je souhaiterais garder le nombre d’article. Je n’arrive juste pas à trouver la balise qu’il faut.

    .site-header-cart {
        display:none;
     }

    #2374885
    ferman
    Participant
    Maître WordPress
    3861 contributions

    J’ai résolu le problème des produits vendus au détail et d’autres non avec votre ligne de css, ça me convient parfaitement, ne vous embêtez pas !

    Mais le prix au kg est toujours indiqué sur le panier et la commande, non? Mais si ça vous convient, parfait.

    ne vous embêtez pas !

    Au contraire c’est un problème intéressant à résoudre.

    Je n’arrive juste pas à trouver la balise qu’il faut.

    Essayez ça:

    .site-header-cart a.cart-contents .amount{display:none;} 

    • Cette réponse a été modifiée le il y a 19 secondes par ferman.
15 sujets de 1 à 15 (sur un total de 15)
  • Vous devez être connecté pour répondre à ce sujet.