Jump to content

jerem_

Members
  • Posts

    43
  • Joined

  • Last visited

Posts posted by jerem_

  1. On 9/1/2020 at 10:18 AM, theodiablo said:

    I found the answer to my problem...

    In the core email templates, there were:

    {% extends '@MailThemes/modern/components/layout.html.twig' %}

    {% extends '@MailThemes/modern/components/layout.html.twig' %}

    Changing this to my theme solved this issue...
     

    Thanks anyway ūüôā

    Wow, thanks a lot !

    My brain was about to crash until i find your post...
    That's exactly what i was looking for !

     

    Edit : Well, it did the job once.... then i changed something else in my layout and it's no longer working when i generate the emails...
    Aaaaand that's ok now... i had to clear the cache from Ps...
    I've no cache activated in the Presta conf but it seems there's always some cache somewhere...

    • Haha 1
  2. Bonjour,

    Suite de mon problème remonté...
    J'ai testé sur un autre site (en 1.7.5.2) et je n'ai pas rencontré le soucis...

    En cherchant au niveau du code, j'ai fini par trouver l'appel ajax concerné dans le controleur AdminCartsController.php :

    public function ajaxProcessupdateFreeShipping()
        {
            if ($this->access('edit')) {
                if (!$id_cart_rule = CartRule::getIdByCode(CartRule::BO_ORDER_CODE_PREFIX . (int) $this->context->cart->id)) {
                    $cart_rule = new CartRule();
                    $cart_rule->code = CartRule::BO_ORDER_CODE_PREFIX . (int) $this->context->cart->id;
                    $cart_rule->name = array(Configuration::get('PS_LANG_DEFAULT') => $this->trans('Free Shipping', array(), 'Admin.Orderscustomers.Feature'));
                    $cart_rule->id_customer = (int) $this->context->cart->id_customer;
                    $cart_rule->free_shipping = true;
                    $cart_rule->quantity = 1;
                    $cart_rule->quantity_per_user = 1;
                    $cart_rule->minimum_amount_currency = (int) $this->context->cart->id_currency;
                    $cart_rule->reduction_currency = (int) $this->context->cart->id_currency;
                    $cart_rule->date_from = date('Y-m-d H:i:s', time());
                    $cart_rule->date_to = date('Y-m-d H:i:s', time() + 24 * 36000);
                    $cart_rule->active = 1;
                    $cart_rule->add();
                } else {
                    $cart_rule = new CartRule((int) $id_cart_rule);
                }
    
                $this->context->cart->removeCartRule((int) $cart_rule->id);
                if (Tools::getValue('free_shipping')) {
                    $this->context->cart->addCartRule((int) $cart_rule->id);
                }
    
                echo json_encode($this->ajaxReturnVars());
            }
        }

    Je ne sais pas pourquoi... mais dans le json renvoyé par cet appel ajax, "delivery_option_list" (sensé renvoyer la liste des transporteurs disponibles) se retrouve vide...

    J'ai tenté plusieurs choses et ai fini par testé d'afficher le contenu de $this->ajaxReturnVars() en début de fonction pour comparer avec ce qui était renvoyé en fin de fonction... Et là, surprise, les DEUX affichaient un "delivery_option_list" correctement rempli....

    J'ai fini par laisser un simple appel à $this->ajaxReturnVars() en début de fonction... Il est possible que cela initialise certaines données utilisées ensuite par $cart_rule... qui, autrement, vidait mon fameux "delivery_option_list"...

    Mon soucis semble résolu mais je n'ai malheureusement pas le temps d'investiguer d'avantage pour comprendre la source exacte du soucis...

    Je laisse ici mon retour à bon entendeur...

  3. Bonjour,

    PS 1.7.6.1

    Lorsque je créé une commande par le back office, dans l'encart livraison, si j'essaye de passer "Livraison gratuite" à "Oui", le message "Aucun transporteur ne peut être appliqué à cette commande" apparait (alors que j'avais bien le bon transporteur disponible auparavant) (cf image en PJ) et je ne peux plus enregistrer la commande...

    Je n'avais pas ce soucis auparavant mais je n'arrive √† voir d'o√Ļ √ßa vient... Je ne sais pas si c'est depuis une migration r√©cente du site ou un changement dans la configuration...

    Quelqu'un aurait une idée ?

    Normalement tout est bien configuré. Le client a une adresse valide pour ce transporteur. Le produit peut bien être livré par ce transporteur... et le transporteur est bien sélectionnable tant que je ne souhaite pas offrir les frais de port...

    D'avance merci

    screen.png

  4. Salut !

    Merci pour ton petit post, je me sens moins seul désormais...
    Je planche visiblement sur un dev un peu similaire et me suis vraiment galéré à ajouter mes champs de personnalisation à mes produits...

    La première chose que je ne comprends pas... c'est le traitement de cette colonne "is_module"...
    Je suis tombé en parallèle sur ce début de discussion : https://www.prestashop.com/forums/topic/549666-guide-the-new-customization-system-in-prestashop-17/

    Quote

    "A new column was added: `is_module` which means that the field belongs to a module
    When this column has a value of 1, the field won't be displayed on the front"

    Je ne vois absolument pas le but de tout √ßa... Perso j'ai besoin que mes champs apparaissent sur le front-end... je ne comprends pas le c√īt√© syst√©matique du contraire...

    Donc au final j'ai d√©cid√© de ne pas utiliser le is_module (je le laisse √† 0)... Comme √ßa pas de probl√®me de visibilit√© c√īt√© public...
    Et j'ai surchargé comme toi la fonction softDeleteCustomizationFields mais aussi deleteUnusedCustomizationFields pour leur faire faire... rien.
    J'empêche de toutes façons la création manuelle de champs de personnalisation, c'est mon module qui le fait à l'enregistrement d'un produit (dans mon cas, ce sont toujours les mêmes champs qui sont créés). Donc je ne me soucis pas de leur suppression éventuelle...

    Pour le moment ça tourne mais je n'ai pas terminé mon dev, à voir si tout est ok jusqu'au bout... C'est vraiment crado de bosser comme ça mais pas trop le choix je crois malheureusement...

  5. À force d'avoir le nez dedans, je n'ai plus les idées claires. Je viens de tester un truc tout bête : mettre un exit() juste après l'exécution du hook actionProductUpdate dans la fonction d'update de la classe Product.
    Et cette fois-ci, je vois bien mon tuple rester en bdd.
    Il y a donc bien un moment dans le process o√Ļ mes champs sont supprim√©s pour x raison...

    Je continue mes investigations et je noterai mes avancées ici, ça servirait peut-être à quelqu'un d'autre un jour !

  6. Bonjour,

    Je me bagarre depuis hier pour ajouter systèmatiquement des champs de personnalisation à mes produits lors d'un enregistrement.

    J'ai créé un module et j'utilise le hook ActionProductUpdate pour exécuter mes insertions...

    Mon code s'exécute normalement lors d'un enregistrement.

    Si je fais un select sur la table customization_field avant l'insertion, je ne vois rien et si je le refais à la fin de mon code je vois bien mes tuples ajoutés en bdd.
    Les id s'incrètement bien, zéro problème en apparence.

    SAUF QUE .... je ne retrouve finalement rien dans ma bdd et mes champs de personnalisation ne sont pas du tout ajoutés à mon produit...

    C'est comme s'ils étaient bien créés mais que dans la même exécution, un peu plus loin, ils étaient supprimés...
    Et impossible de comprendre comment..

    Je suis sous Ps17, est-ce que quelqu'un de calé sur le process d'enregistrement produit aurait une petite idée de ce qui peut se passer ?!

    D'avance merci,

  7. Bonjour,

    M√™me soucis de mon c√īt√© mais je n'ai pas de r√©pertoire cache dans themes/classic
    Et normalement les droits sont ok de mon c√īt√© sur l'ensemble des r√©pertoires...

    EDIT : Ok, solution trouvée sur un autre thread : J'ai désactivé le module Bienvenue et le bloc a disparu...
    Ça n'est pas vraiment un résolution de bug mais faute de mieux au moins ça ne me dérange plus.

  8. Bonjour,

    Désolé un peu de délai de réponses ^^'
    Ce n'est pas mon activité à proprement parlé, je m'occupe du développement du site Presta d'une cliente.


    Ton commentaire est totalement justifié car c'est en effet également une discussion que j'ai eu avec la cliente et elle assumerait totalement le cas de figure "stock produit commandé et payé en direct alors qu'il avait été déjà commandé et était en attente de la réception du chèque"....

    Elle pr√©f√®re que son produit reste disponible le temps de la r√©ception du ch√®que, quitte √† tomber dans ce genre de travers o√Ļ elle devra se r√©approvisionner en urgence une fois le ch√®que re√ßu.
    Elle a aussi beaucoup de soucis avec des commandes par chèque dont le chèque n'arrive jamais et qui faussent malheureusement l'état de ses stocks...

    Ça me permet un petit up dans le forum si jamais quelqu'un a une solution ou d'autres pistes de réflexion !

    Merci !

  9. Bonjour,

    Je mène une réflexion sur l'utilisation des états de commande et la manière dont sont décomptés les stocks.

    J'aimerais que les stocks ne soient pas décomptés lorsqu'un client choisit un paiement par chèque.
    Que les stocks soient uniquement décomptés lors du passage à un état de commande qui "Considère la commande associée comme validée." pour reprendre l'intitulé de l'option dans le BO au niveau de la gestion des états de commande.

    Est-ce possible ?

    J'ai l'impression que les stocks sont décomptés dès la confirmation d'une commande par un client, quelque soit l'état dans lequel la commande se retrouve ("En attente de paiement par chèque", "Paiement accepté", etc.)
    À la rigueur, je crois savoir que les stocks sont "remis comme avant" lorsque l'on passe une commande à l'état "Annulé". N'y a t-il pas moyen d'appliquer le même principe sur une commande "En attente de paiement par chèque" ?

    Merci d'avance pour vos retours et/ou idées

    Contexte :
    Ps 1.7

  10. Bonjour,

    Oui bien s√Ľr, c'est juste, d√©sol√©. √Ä force d'avoir la t√™te dans le code je n'ai plus les pens√©es assez claires !
    Je ne voulais pas rentrer trop le détail pour ne pas être trop barbant et j'en ai oublié l'essentiel : je suis sous Ps 1.7.4.2

    Je suis conscient de la complexit√© potentielle du d√©veloppement. Je suis moi-m√™me d√©veloppeur pro (pas forc√©ment sp√©cialis√© Presta, d'o√Ļ mon manque de connaissances pour r√©gler seul ce soucis..) et j'essaye justement de parvenir √† mes fins tout en montant en comp√©tence sur l'outil. Mais je comprends la remarque pas de soucis.

    Les prix sp√©cifiques c√īt√© BO est une piste √† laquelle j'avais pens√© en effet. Mais ils ne me permettraient pas de r√©pondre exactement √† mon besoin.
    Je pourrais appliquer un surco√Ľt √† l'unit√© mais je ne pourrais pas travailler ainsi pour g√©rer les grandes quantit√©s... j'aurais un nombre infini de r√®gles √† cr√©er...

    J'ai étudié un peu tout ce qui était envisageable par une simple configuration du BO mais en suis arrivé à la conclusion qu'il me fallait attaquer la chose avec du dév spécifique et une surcharge du panier...
    Je nage maintenant en eaux troubles pour comprendre comment appliquer mes surco√Ľts dans le panier et par ligne produit.

    Je prendrais donc comme une grande aide la moindre piste ^_^

    Merci pour les premières suggestions déjà !

  11. Hello !

    I'd like to manipulate the cart object... change the total price of a product line etc.
    How can i do that ?

    I try to do get products using
    $this->context->cart->getProducts()
    but then i don't know how to edit datas as total or total_wt.... cause i only get an array and i'm not sure i can edit cart products this way :(

    Thanks for any help !

  12. Bonjour,

    J'aimerais appliquer un surco√Ľt √† mes produits dans certains cas.
    J'ai des déclinaisons qui me permettent de définir un conditionnement.
    Pour une d√©clinaison/un conditionnement donn√©, je souhaiterais appliquer un surco√Ľt qui est appliqu√© selon une formule pr√©cise.

    Selon la quantité à ajouter au panier pour le produit, cela me permet d'appliquer un conditionnement particulier.
    Je dois empaqueter par 3 mes produits dans un seul paquet pour un surco√Ľt de 10‚ā¨.
    Ou empaqueter par 1 par paquet pour un surco√Ľt de 10‚ā¨ √©galement.

    Exemple concret :
    Si le client prend 5 produits, j'aurai comme total : prix du produit x 5 + 10‚ā¨ (1 gros paquet) + 10‚ā¨ (1 petit paquet) + 10‚ā¨ (1 petit paquet)


    Je ne sais pas comment solutionner ce problème...

    Pour le moment, le co√Ľt de mon produit n'est uniquement affect√© que par sa quantit√© et non par mon surco√Ľt du au conditionnement.

    Désolé pour ces explications un peu longues et sans doute pas très claires...


    J'aimerais surcharger le panier car je peux m'en sortir dans la vue produit mais je ne crois pas pouvoir modifier les produits dans le context cart ?
    Si je pouvais intervenir dans la fonction d'ajout au panier pour modifier le montant calcul√© (prix x quantit√©) pour ajouter mon surco√Ľt calcul√©, cela ferait (je pense et j'esp√®re) mon affaire...
    Mais je ne vois pas trop comment surcharger cela...


    Merci pour toute personne qui aura le courage d'essayer de m'aider !

    Edit : Avant d'envisager tout ça, j'ai évidemment pensé à jouer sur les impacts de prix au niveau des déclinaisons... mais je ne trouve pas mon compte du fait de ma formule de calcul un peu particulière.

  13. @Eolia

    Ce n'est pas le sujet... mais allons-y.

    Je respecte vraiment ce que tu fais sur le forum hein, tu es s√Ľrement une des personnes les plus actives et je te vois r√©guli√®rement venir en aide aux autres.
    Mais j'ai aussi constaté sans soucis qu'une fois sur cinq tu ne fais que dénigrer la 1.7.
    Alors je comprends ta frustration sur les changements et l'√©volution de la plateforme, moi-m√™me je suis d√©go√Ľt√© en tant que d√©veloppeur de certains changements, certaines fonctionnalit√©s qui ont saut√©, certains bugs etc.

    Mais le lobbying anti-1.7 a aussi ses limites... Perso, je n'irai pas forc√©ment jusqu'√† encourager les gens √† l'utiliser non plus, chacun ses choix ; mais si on ne fait pas un minimum d'efforts, √ßa n'ira malheureusement pas dans le bon sens. Il est encore temps de corriger la trajectoire et je comprends bien qu'on mette en avant les d√©fauts de la 1.7 mais on peut aussi rester un minimum positif et tenter d'amener Presta vers quelque chose de bon en s'entraidant et en faisant avancer les choses plut√īt qu'en les regardant aller dans le mur sans rien faire.

    Dommage que tu restes bloqué là-dessus parce que tu as l'air très compétent et Presta a besoin de personnes comme toi...

    ***

    Anyway, je vais essayer de me dépanner moi-même pour mon soucis et reposterai ici selon mes avancées.

    Edit : Je pr√©f√®re pr√©ciser pardon : je ne te juge pas ni ne dis que tu n'es pas objectif hein. Je suis m√™me d'accord avec toi bien souvent quand tu parles de la 1.7. Juste le c√īt√© "rester positif" que je voulais aborder ;) m√™me si on nous donne pas forc√©ment toutes les raisons de l'√™tre... mais bon, c'est les f√™tes de fin d'ann√©e alors je ne sais pas.. ma positivit√© doit √™tre au max !

  14. Bonjour,

    Je remonte ce sujet pour un problème qui me semble le même.

    (Prestashop 1.7.0.5)

    J'ai une r√®gle panier qui offre les frais de port pour une commande sup√©rieure √† 80‚ā¨.
    Cette règle s'applique très bien si le client possède déjà un compte. Qu'il se connecte avant de faire son panier ou pendant le process de commande, c'est ok.

    Si la personne se créé un compte pendant le processus de commande directement, la règle panier ne s'applique pas !
    Mais si cette même personne se déconnecte puis se reconnecte, la règle panier s'appliquera bien !

    Il y a s√Ľrement un probl√®me dans l'initialisation du client lors d'une cr√©ation de compte pendant le processus de commande...

    Quelqu'un a t-il d√©j√† eu ce soucis ? (et l'aurait r√©solu, √©videmment... ūüėõ )

    Merci

  15. Je me permets un petit up. Personne n'a jamais mis en place ce comportement ?

     

    Quote

    Tous les produits d'une cat√©gorie A sont √† 0‚ā¨.
    Mais d√®s que j'ai d√©j√† 2 produits (2x le produit A1 ou bien 1x produit A1 et 1x A2 par exemple) dans mon panier, les suivants co√Ľteront 2‚ā¨ (qu'ils soient un produit A1, A2 ou autre de cat√©gorie A).
    (pour faire plus simple ce sont des échantillons, un client peut commander gratuitement 2 échantillons et doit payer les supplémentaires)

     

  16. Si tu mets vraiment 3h à trouver, c'est que tu n'ai déjà pas très "aidé" de base...
     

    Suffit de taper "lenteur" dans la recherche du forum pour tomber en 2s sur ce type de sujet :
    https://www.prestashop.com/forums/topic/907909-lenteur-bo/

    Et je me permettrais d'ajouter qu'Eolia fait s√Ľrement parti des personnes que je vois le plus r√©guli√®rement aider les autres sur les forums Prestashop... T'es plut√īt mal tomb√© pour dire √ßa.

    Edit : Erf, Eolia m'a devancé lui-même ^^

  17. Bonjour,

    J'ai fouiné un peu sur les forums mais je n'ai pas trouvé mon bonheur... et je ne pense pas que l'on puisse réaliser ceci avec le fonctionnement natif mais je tente tout de même ma chance...

    (sous Presta 1.7)

    Je souhaite que des produits d'une m√™me cat√©gorie soient √† 2‚ā¨ au lieu de 0‚ā¨ √† partir du 3e article de la cat√©gorie ajout√© au panier.

    J'ai testé avec une règle catalogue :

    - Un groupe de condition créé sur la catégorie concernée
    - Pas de r√©duction appliqu√©e mais un prix initial √† 2‚ā¨ √† partir de la quantit√© 3

    Le comportement résultant n'est pas le bon évidemment car :
    - Si je mets 3 produits identiques appartenant √† la cat√©gorie, ils passent TOUS √† 2‚ā¨... Moi je souhaiterais que seul le 3e produit (et 4e, 5e, 6e... s'il y a plus de produits) soit √† 2‚ā¨
    - La notion de quantité ne marche que pour un produit identique. Si j'ai 1 produit A et 2 produit B, la règle n'est pas appliquée alors que j'ai bien 3 produits de la catégorie concernée dans mon panier.

    Pour résumer, je voudrais :

    Tous les produits d'une cat√©gorie A sont √† 0‚ā¨.
    Mais d√®s que j'ai d√©j√† 2 produits (2x le produit A1 ou bien 1x produit A1 et 1x A2 par exemple) dans mon panier, les suivants co√Ľteront 2‚ā¨ (qu'ils soient un produit A1, A2 ou autre de cat√©gorie A).
    (pour faire plus simple ce sont des échantillons, un client peut commander gratuitement 2 échantillons et doit payer les supplémentaires)

    Peut-on réaliser ceci d'une manière simple (paramétrage voire un peu de dev que je suis en mesure de réaliser) ?
    À moins qu'un module existe pour réaliser ceci (même payant) et que quelqu'un pourrait me conseiller ?

    D'avance merci

  18. Bonjour,

    Je me trompe peut-être de thread car je n'ai pas vraiment l'impression que ça parle du module officiel RGPD disponible pour la 1.7 mais je tente ma chance...

    J'ai installé et activé le module RGPD Officiel puis l'ai configuré afin qu'apparaisse la case de consentement RGPD sur le formulaire de contact...
    Puis dans mon tpl de formulaire de contact (themes/montheme/modules/contactform/views/templates/widget/contactform.tpl), j'ai ajouté {hook h='displayGDPRConsent'} afin que la fonctionnalité apparaisse bien sur le formulaire...

    Cela semble bien appeler la fonction hookDisplayGDPRConsent du module... mais derrière ça ne suit pas.
    Ça plante à ce niveau :

    if (!isset($params['id_module'])) {
        return;
    }

    id_module n'existe pas dans l'array de params transmis et la fonction s'arrête donc là... et donc pas d'affichage...

    Quelqu'un a t-il rencontré ce soucis ?

    D'avance merci !

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More