Jump to content

Bllidz

Members
  • Posts

    197
  • Joined

  • Last visited

Posts posted by Bllidz

  1. Bonjour, 

     

    Qu'entends tu par "quid" ? Je me pencherai sur la problématique plus en détail sur mon local dès que j'ai un peu plus de temps (période exam donc un peu la course), si personne n'a eu d'idée avant. 

    Quote

    Et de ton côté si tu as d'autres orientations ou idée ou ami qui pourrait aider je suis preneur !!

    hésite pas sinon a demander au "gros" du forum sinon s'ils peuvent t'aider. 

     

    CDT 

    Jérémy

  2. Quote

    Quand tu dis un problème d'id que veux-tu dire par là ?

    Je veux dire que en gros dans le JS tu récupères la donnée grace à l'id du input avec 

    n = document.getElementById('qty')

    Sauf que tout les input on le même id donc normal qu'on bouge que le premier, y'a rien qui dit en gros passe au second input quand je clique ici. Je ne sais trop comment l'expliquer à l'écrit. Mais j'epsère que tu auras l'idée un peu près. 

    Quote

    'ai utilisé le fichier custom.js où j'ai inséré le code java. 

    C'etait le bon fichier, toujours modifier dans les customs que ce soit css ou js ect..

     

    Quote

    Peux-tu stp me mettre sur une piste pour la recherche d'erreur concernant les id ?

    Il te faudrait un id dynamique à mon sens , je peux me tromper vu que je ne suis qu'étudiant et que le js n'est pas ma spécialité  mais si en id tu mets un id dynamique chaque input n'aura pas le même id et du coup dans le js en fonction de l'id les boutons n'affecteront plus le meme input 

  3. Bonjour, 

    Quote

    Par contre, quand je réalise la même action avec d'autres articles, c'est toujours le premier article qui est impacté à être incrémenté ou décrémenté.

     

    Surement une question d'id vu que il prends le premier sachant que l'id est "qty".  Pourrais-tu me donner le lien de la page en question ? (En mp si tu préfères).

     

     

    Quote

    Egalement, en actionnant le bouton -, la quantité peut-être nulle et même négative. Il est préférable de bloquer la quantité minimal à 1.

    Pour cela change la fonction down() par 

    function down() {
    n = document.getElementById('qty');
    if(parseInt(n.value)>1){
    n.value = parseInt(n.value)-1;
    }
    }

    ça devrait bloquer à 1.

    Quote

    A propos du script JAVA, je l'ai inséré à la suite de la div comme ci-dessus. Est-ce bien à cet endroit qu'il faut l'insérer ?

    Pour le javascript tu peux le mettre ici, mais ce n'est pas très propre.. tu as surement sinon un fichier js dans ton thème.  

  4. 3 hours ago, prestaprojet said:

    Bonjour Jéréy,

    Merci pour ce retour ;

    Oui en effet, c'est ce que j'indique précédemment :

    Bonjour,
    
    Voici ce que j'ai ajouté dans la div + le input + le button : display: inline-block;
    
    et ça fonctionne très bien.
    
    Si des améliorations peuvent être réalisés, je suis preneur et à l'écoute de vos réalisations + Tuto + partie de code à partager.
    
    Ici l'amélioration  laquelle je pense serait d'ajouter un +/- comme évoqué précédemment ou des flèches quantités haut/bas pour incrémenter ou décrémenter la quantité.
    
    Merci pour votre aide
    
    :-)

    Avec plaisir, j'attends ton retour pour +/-

    Merci d'avance 

    🙂

     

    J'avais pas vu le second message, c'est pour ça.  

    Du coup j'ai pris 5 minutes pour faire tes boutons +/- 

    du coup pour l'html ça donne ça 

     <div style="float:left;"> 
       {* saisi de la quantité *}
       <button 
    type="button" onClick="down();"> -
    </button>
    <input type="number" class="input-group form-control" id="qty" name="qty" value="1" style="font-weight: bold;">
    <button 
    type="button" onClick="up();"> +
    </button>

    J'ai rajouté un id="qty" à ton input.

    ensuite pour le js 

    <script language="JavaScript" type="text/javascript">
    function down() {
    n = document.getElementById('qty');
    
    n.value = parseInt(n.value)-1;
    }
    function up() {
    n = document.getElementById('qty');
    //alert(n);
    n.value = parseInt(n.value)+1;
    }
    </script>

    Tu peux tester, normalement c'est good :) 

    CDT 

    Jérémy 

  5. On 9/17/2021 at 1:05 PM, prestaprojet said:

    Bonjour Bllidz,

    Merci pour cette orientation ;

    Du coup, j'ai modifié ainsi :

    <form action="{$urls.pages.cart}" method="post">
       <input type="hidden" name="token" value="{$static_token}">
       <input type="hidden" value="{$product.id_product}" name="id_product">
    
       <div style="float:left;"> 
       {* saisi de la quantité *}
       <input type="number" class="input-group form-control" name="qty" value="1" style="font-weight: bold;">
       
       {* bouton sans écrit ajouter au panier *}
       <button style= "background: url(/images/logo_panier_achat.png); background-repeat : no-repeat; background-size: cover; width: 30px; height: 40px; color:black;" data-button-action="add-to-cart" {if !$product.add_to_cart_url}disabled{/if} class="btn btn-primary">{l}</button>
      
       {* bouton avec écrit ajouter au panier *}
       {*<button style= "background: url(/images/logo_panier_achat.png); background-repeat : no-repeat; background-size: cover; width: 30px; height: 40px; color:black;" data-button-action="add-to-cart" {if !$product.add_to_cart_url}disabled{/if} class="btn btn-primary">{l s='Add to cart' d='Shop.Theme.Actions'}</button>*}
    {*FIN bouton ajouter au panier d'achat *} 
    
        </div>
    	
    </form>

     

    ça fonctionne.

    Par contre le problème est que je ne parviens pas à mettre sur la même ligne le champ de saisi et le bouton devenu image afin que ça fasse plus propre et gagner de la place, visuellement se sera plus sympa.

    Si vous avez une idée pour réaliser cette action je suis preneur.

    A propos des +/- non ils n'existent pas, je souhaite au juste les ajouter.

    Merci d'avance pour votre aide

    🙂

    Bonjour, 

     

    Je regarde dans la soirée pour vos bouton +/- 

    Et pour l'alignement de vos blocks il faut rajouter un peu de css. un "display: inline-block;" devrait faire l'affaire. 

     

    Jérémy 

  6. 23 minutes ago, ChOmar said:

    je suis dans le même problème en ce moment 😵

    Le problème vient surement du module cité par médiacom .

    at TranslateCore::getModuleTranslation(object(CartQuotationWizard), 'Enter email address separated by commas', 'cartquotationwizard', null, false, true)in Module.php line 1993

    Quote

    at TranslateCore::getModuleTranslation(object(CartQuotationWizard), 'Enter email address separated by commas', 'cartquotationwizard', null, false, true)in Module.php line 1993

    Juste cette ligne suffit à le comprendre, cependant n'hésite pas toi à poster un nouveau topic et y décrire ton erreur si tu veux de l'aide :) 

  7. 3 hours ago, Mediacom87 said:

    Bonjour,

    cela ne concerne pas directement PrestaShop mais simplement el traitement d'un formulaire avec fichier attaché.

    Pour vous inspiré de ce qui est fait sur Prestashop regardez dans le code comment sont traité les chargement des zip ou m^mee simplement le chargement des images pour savoir comment récupérer le fichier et l'attaché au mail.

    Super , merci pour ta réponse, je vais regarder ça. 

    Sinon juste pour la génération de la facture tu aurais une idée pour la joindre au mail ? 

    Car j'ai essayé ça pour la joindre mais sans succès.

    $pdf = new PDF($order->getInvoicesCollection(), PDF::TEMPLATE_INVOICE, $this->context->smarty);
    $fileAttachment['content'] = $pdf->render();
    $fileAttachment['name'] = 'facture.pdf';
    $fileAttachment['mime'] = 'application/pdf';

    Alors que si je mets un fichier quelconque et que je remplace ça par 

       $fileAttachment['content'] = file_get_contents(_PS_MODULE_DIR_.'/jv_mails/pdf/test.pdf'); 
                $fileAttachment['name'] = 'ar.pdf';
                $fileAttachment['mime'] = 'application/pdf'; 
            }

    Je reçois bien mon pdf joint.

     

    EDIT: Je reçois bien la facture... Juste une idiotie de ma part la facture n'était pas crée donc normal que ça envoyait rien... 

    Reste plus qu'à voir le chargement des fichier

     

  8. Bonjour,

     

    Je développe un module sur Prestashop 1.7.6.9 qui envoi des mails aux comptable ou au client directement. L'envoi des emails fonctionne parfaitement. Cependant je rencontre une problématique. 

    Je souhaite envoyé la facture directement à la comptable quand je clique sur envoyer. 

    Et quand c'est Ar je souhaite pouvoir choisir un fichier du pc.

    image.png.c78057b24f4f1d54edf5bead9058a346.png

    Mais je ne vois pas comment je puisse faire pour récupérer justement le fichier voulu.  Car dans mon if quand je sélectionne compta je dois récupérer du coup la facture et la mettre sur $attachment et pour l'ar justement récupérer le fichier via le pc. 

     

    Si quelqu'un à une idée , une piste. Ce serait super :) 

    Voici mon code pour l'envoi d'un mail  :

     

       if ($typeMail == "AR") {
    
                $subject = $this->l('Accusé de réception pour la commande');
    
                $template_name = 'mail_ar';
    
                $mail = Db::getInstance()->getValue('SELECT email_ar FROM`' . _DB_PREFIX_ .'jv_mail` where id_customer = '. (int)$id_customer);
    
                $mail1 = "[email protected]";
    
               
                //$file_attachement = ?? //Fichier du pc 
               $file_attachement = null
    
            }
    
            if ($typeMail == "Compta") {
    
                $subject = $this->l('Facture de la commande');
    
                $template_name = 'mail_compta';
    
                $mail = Db::getInstance()->getValue('SELECT email_compta FROM`' . _DB_PREFIX_ .'jv_mail` where id_customer = '. (int)$id_customer);
    
                $mail1 = "[email protected]";
    
                // Join PDF invoice
                if ((int)Configuration::get('PS_INVOICE') && $order_status->invoice && $order->invoice_number)
                {
                $file_attachement = ??,; //Récuperation de la facture  
                }
                else
                $file_attachement = null;
    
                        }
    
           
    
            Mail::Send(
    
                $id_lang,
    
                $template_name,
    
                $subject,
    
                $templateVars,
    
                $mail1,//mail du destinataire
    
                null, //$customer->firstname, // nom client
    
                null,
    
                null,
    
                $file_attachement, //$file_attachmentfichiers joints,
    
                null,
    
                dirname(__FILE__) . '/mails/'
    
            );

     

    j'ai regarder quelques topic mais sans succès

     

    https://www.prestashop.com/forums/topic/334226-solved-how-to-send-custom-email-with-attachment/

     

    Merci d'avance, 

     

    Cordialement, 

     

    Jérémy

  9. 2 hours ago, ObjetsBois said:

    Bonjour,

    Je me suis mal exprimé en fait...ce n'est pas une fonction mais par exemple un bloc ou un morceau de texte afficher à enlever....enfin modifier un fichier pour commenter une partie du fichier et en-dessous remettre du code.

    Il va vraiment falloir que je regarde ça de près, par exemple s'il faut que je déplace un bout de code dans le fichier PRODUCT.TPL  ou rajouter un bout de code dans contactform.php

     

    Ah je comprends, euh pour le coup il me semble pas que ce soit possible d'override des tpl justement pour le back (si je ne dis pas de bêtise, a vérifier) .

    Après si c'est pour un tpl en front, il est possible d'override le thème avec le thème enfant mais tu peux mettre uniquement les tpl ou css dedans. Après tout ce qui est php c'est dans le dossier override cité au dessus.

    J'espère t'avoir éclairci un peu 

  10. 12 hours ago, Alexandre Carette said:

    Salut,

    fais un var_dump("on est dans le fichier"); die(); et regarde la reponse,

    cdt

    Salut, 

    J'avais déjà un vardump("on est dans le fichier"); du coup j'ai rajouté un die() ; 

    mais la réponse ne change pas j'ai toujours du html de la page "dashboard" en réponse.

    CDT 

×
×
  • Create New...

Important Information

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