Jump to content

yvanb

Members
  • Posts

    274
  • Joined

  • Last visited

Everything posted by yvanb

  1. Pensez également à modifier la traduction du bouton Continuer (terme d'origine : Proceed to checkout sur 1.6.0.6 et Next sur 1.4.9) qui se trouve dans order_carrier par la mention : Commande avec obligation de paiement Pour ce faire, rendez-vous dans la traduction du front office de votre thème. Pour rappel le texte de se bouton n'est pas encore réellement définie, ceci est le texte qui à été évoquer.
  2. Oui c'est une bonne solution également, mais ne pas oublier de mettre la bonne page de CMS : {$link->getCMSLink('3', 'MA-PAGE-CMS?content_only=1')} Par contre, je pense que cela ne marchera pas si le client utilise une autre langue...(pas testé) Donc une solution, au cas où, en utilisant mon code, est de modifier ceci : {$link_conditions} Par ceci : {$link_conditions}?content_only=1 Comme cela, on spécifie de n'afficher que le contenu de la page tout en conservant la bonne page, gestion de la langue comprise. Il faut simplement rajouter ceci, par exemple et donc placer les fichiers retractation_fr.pdf dans le dossier /docs/ tout comme les CGV : if (substr($template,3) == "order_conf" && file_exists(_PS_ROOT_DIR_.'/docs/retractation_'.$iso.'.pdf')) { $message->attach(new Swift_Message_Attachment(new Swift_File(_PS_ROOT_DIR_.'/docs/retractation_'.$iso.'.pdf'), 'Retractation.pdf', 'application/pdf')); }
  3. Oui, c'est justement pour ça que je tente de proposer une solution alternative GRATUITE.... En ce qui concerne le formulaire de rétractation, rien n'est précisé : http://www.journaldunet.com/ebusiness/commerce/loi-hamon-sur-l-e-commerce.shtml On peut, soit le fournir au client, soit, effectivement le mettre en place sur le site voir même les deux. Question de mise en place sur le site, une simple page CMS avec un formulaire de chez http://www.wufoo.com/ (service gratuit) et le tour est joué, vous avez un formulaire de rétractation.... Je vais regarder ceci, mais je pense que c'est une class CSS qui doit faire "crotter" votre iframe...
  4. D'après ce que j'ai pu voir sur internet, il fraudais un formulaire type ceci : (source : annexe de la directive européenne) À l’attention de [le professionnel insère ici son nom, son adresse géographique et, lorsqu’ils sont disponibles, son numéro de télécopieur et son adresse électronique]: Je/Nous (1) vous notifie/notifions (1) par la présente ma/notre (1) rétractation du contrat portant sur la vente du bien (1)/pour la prestation de service (1) ci-dessous Commandé le (1)/reçu le (1) Nom du (des) consommateur(s) Adresse du (des) consommateur(s) Signature du (des) consommateur(s) (uniquement en cas de notification du présent formulaire sur papier) Date Barrez la mention inutile. J'imagine quelque choses comme ceci : retractation.pdf
  5. Les fichiers CSV_fr.pdf, CSV_en.pdf sont à placé dans le dossiers docs/, personnellement, quand je reçois l'email de confirmation de commande, le fichier Joint se nomme C.G.V.pdf et est envoyé dans la langue de la commande. Cependant, le script donnée plus haut utilise le nom (titre meta) de la page CGV qui se situe dans les pages CMS d'origine ! Si vous avez supprimé cette page le code ne trouvera pas le nom du fichier. Voici ce que vous pouvez faire : Remplacez le code : if (substr($template,3) == "order_conf" && file_exists(_PS_ROOT_DIR_.'/docs/CGV_'.$iso.'.pdf')) { $CGVcms = new CMS((int)(Configuration::get('PS_CONDITIONS_CMS_ID')), (int)$id_lang); $message->attach(new Swift_Message_Attachment(new Swift_File(_PS_ROOT_DIR_.'/docs/CGV_'.$iso.'.pdf'), $CGVcms->meta_title.'.pdf', 'application/pdf')); } Par celui-ci : if (substr($template,3) == "order_conf" && file_exists(_PS_ROOT_DIR_.'/docs/CGV_'.$iso.'.pdf')) { $message->attach(new Swift_Message_Attachment(new Swift_File(_PS_ROOT_DIR_.'/docs/CGV_'.$iso.'.pdf'), 'C.G.V.pdf', 'application/pdf')); } Avec ce dernier code, le fichier joint sera dans la bonne langue mais s’appellera toujours C.G.V.pdf, quelle qu'en soit la langue de commande.
  6. Bonjour, effectivement j'ai pas vu qu'il y avais deux fois le "Send mail". Voici où placer le code : <---- Placez le code ICI ---> /* Send mail */ $send = $swift->send($message, $to, new Swift_Address($from, $fromName)); $swift->disconnect(); return $send;
  7. Bonjour, oui effectivement ce sont les cases pré-cochées qui deviennent interdites, j'ai trouvé ceci qui résume bien cette nouvelle loi : https://www.cic.fr/fr/banques/entreprises/dossiers/ce-qui-change-avec-la-loi-hamon/index.html PS: Ce n'est pas ma banque, recherche google... Ensuite, je réfléchissais pour faire un formulaire de rétractation, mais au final, je pense que je vais également envoyer ce formulaire comme les CGV, lors de la commande. Dès qu'un client ce rétracte pour la totalité de la commande passer celle-ci en annulé ou juste pour un produit faire un retour. Qu'en pensez vous ?
  8. Bonjour, je pense, pour faire plus simple, créez plusieurs produits.... Dans la même optique, 1 produit à 1€ et un produit où vous vendez la boite de 300 en mettant le prix à -25% par rapport au produit à 1€... Si le client en veux 305, il achète une boite de 300 et 5x 1 à 1€.... Comme cela, le client bénéficie de la réduction pour l'achat d'un carton, mais pas sur ceux vendu au détails...
  9. Bonjour, consultez la fin de mon 1er message (EDIT), je viens à l'instant de posté une "solution" pour l'envoi des pdf dans l'email de confirmation...
  10. Bonjour à tous. Je suis sur le point de passer de PS 1.4.9 à PS 1.6 tous en adaptant ma boutique à la loi Hamon. J'ai donc fait un petit bout de code permettant aux clients de lire les CGV directement sur la page des transporteurs, mais la différence c'est qu'a la place de la case à cocher, j'ai mis un bouton qui devient vert quand on clique dessus, et donc qui fait accepter les CGV. Je crois, d'après ce que j'ai lu sur cette loi, que les cases à cocher deviennent interdites sur le processus de commande et même comme options dans le panier. Ce code à été testé et fonctionne sur PS 1.4.9 et sur PS 1.6.0.6 Recherchez dans order-carrier.tpl : {if $conditions AND $cms_id} <p class="carrier_title">{l s='Terms of service'}</p> <p class="checkbox"> <input type="checkbox" name="cgv" id="cgv" value="1" {if $checkedTOS}checked="checked"{/if} /> <label for="cgv">{l s='I agree to the terms of service and will adhere to them unconditionally.'}</label> <a href="{$link_conditions|escape:'html':'UTF-8'}" class="iframe" rel="nofollow">{l s='(Read the Terms of Service)'}</a> </p> {/if} et remplacez par ceci : <!-- Code pour afficher les CGV avec un bouton à cliquer --> {if $conditions AND $cms_id} <p class="carrier_title">{l s='Terms of service'}</p> <div class="clear"></div> <div style="height:200px;margin:5px;padding:5px;border:1px solid #E0E0E0"> <iframe id="fancybox-frame" width="100%" height="100%" frameborder="0" hspace="0" scrolling="auto" src="{$link_conditions}?content_only=1""></iframe> </div> <div class="clear"></div> <p class="checkbox"> <input type="checkbox" name="cgv" id="cgv" value="1" {if $checkedTOS}checked="checked"{/if} style="display:none;" /> <button type="button" onclick="check(this, '#20D00C');" >{l s='I agree to the terms of service and will adhere to them unconditionally.'}</button> <script type="text/javascript"> $('a.iframe').fancybox(); function check(btn, color) { document.getElementById("cgv").checked = true; btn.style.backgroundColor = color; } </script> </p> {/if} <!-- Code pour afficher les CGV avec un bouton à cliquer --> Question résultat, voici ce que cela donne quand le client clique : Je continuerais ce topic pour intégrer l'envoi des CGV en PDF dans l'email de confirmation... J'aime l'idée de PS en Open Source, c'est pour cela que je tente de proposer des solutions alternatives gratuites, surtout quand cela dépend des lois. [EDIT] Chose promise, chose dû, voici le code pour envoyer les CGV aux clients dans le mail de confirmation. (Ce n'est pas moi l'auteur de ce code, je l'ai trouver sur ce forum, mais je ne sais plus où....). Par contre, je l'ai testé avec succès sur PS 1.4.9 et sur PS 1.6.0.6. Ouvrez classes/Mail.php, et recherchez cette ligne : /* Send mail */ Ajoutez juste au dessus ce code-ci : if (substr($template,3) == "order_conf" && file_exists(_PS_ROOT_DIR_.'/docs/CGV_'.$iso.'.pdf')) { $CGVcms = new CMS((int)(Configuration::get('PS_CONDITIONS_CMS_ID')), (int)$id_lang); $message->attach(new Swift_Message_Attachment(new Swift_File(_PS_ROOT_DIR_.'/docs/CGV_'.$iso.'.pdf'), $CGVcms->meta_title.'.pdf', 'application/pdf')); } Il ne vous reste plus qu'à placer vos fichiers CGV_fr.pdf, CGV_en.pdf, un par langue, dans le dossier docs/ qui se situe à la racine de votre Prestashop. Si une âme charitable passe dans le coin et sait comment faire pour transformer la page CMS directement en pdf, je suis preneur. En attendant, ce code fonctionne et nous permet d'être "aux normes"... [/EDIT]
  11. Bonsoir, suite à une demande par MP, je poste le thème d'origine de PS 1.6 qui vous permettra de "réinitialiser" la config des modules associé à ce thème et donc de retrouver le thème d'origine par défaut. http://dl.free.fr/hPIWa007T
  12. Bonsoir, voilà, c'est fait : Remplacez ceci dans betterprice.php : if (!Mail::Send((int)$cookie->id_lang, 'better_price', Mail::l('Customer sent us a better price'), $templateVars, (Tools::getValue('receiver', Configuration::get('receiver'))), NULL, (Tools::getValue('your_email', Configuration::get('your_email'))), ($cookie->customer_firstname ? $cookie->customer_firstname.' '.$cookie->customer_lastname : NULL), NULL, NULL, dirname(__FILE__).'/mails/')) Tout simplement, comme cela vous recevrez l'email mais avec l'adresse de l'expéditeur et donc, un Reply, plus facile Pour toutes personne utilisant ce module, version 1.4 et modal inclus. Il se peut que vous ne receviez pas les emails, une Erreur c'est glissé dans le code, voici comment la corriger : Recherchez dans la ligne 137 : Mail::$this->l('Customer sent us a better price'), Remplacez par : Mail::l('Customer sent us a better price'),
  13. Bonsoir, et désoler pour ma réponse tardive. Effectivement, le lien, normalement, prend la couleur donner par le template installé.. Je regarde, cela ne devrait par être compliqué
  14. Bonjour, oui désoler. Enfaite c'est simple, il faut ouvrir le fichier envoimoinscher.php, rechercher et remplacer ceci : "._DB_PREFIX_." par le préfixe de votre base de donnée, soit "d'origine" : ps_ Si cela ne fonctionne toujours pas, recherchez ceci : "._MYSQL_ENGINE_." et remplacez par ceci : MyISAM ou : innodb suivit le moteur de votre base de donnée, bien entendu, si vous ne savez pas quel moteur est utilisé sur votre base de donnée, la plupart du temps c'est MyISAM. Ceci est normalement valable pour les deux version du module pour PS 1.4 et PS 1.5.
  15. oui je l'ai testé hier soir et je confirme qu'il est compatible avec la 1.5.6.2, car j'envisage de passer de la 1.4.9 à la 1.5.6.2, donc j'ai dû faire la MAJ de mon module pour passer sur celui de Matt75. Donc oui. PS: Testé avec le thème d'origine !
  16. Bonjour, je fait un petit déterrage pour vous donner une archive qui contient le thème par défaut, qui "réinitialise" le thème ainsi que les modules d'origines... Vous avez juste à utilise le module "Importer / Exporter un thème" comme-ci c'était un thème tout neuf. Il va remettre le thème d'origine et remettre en place les modules comme lors de la 1ere installation. 674954824daaa192dedf6cda99d4217e.zip
  17. Bonsoir, ce n'est pas "normale" car la "version" sans JS utilise un bouton de formulaire classique... Avez-vous un lien question que je simule une commande (sans la passer bien-sur) ? (Je pense que IE ne doit pas trouvé l'image...)
  18. Bonjour à tous, je fait un petit UP pour vous dire que j'ai trouvé une solution de substitution pour l'URL de Mondial Relay... Dans le Transporteur, en adresse de livraison, il vous suffit de mettre ceci : http://www.mondialrelay.fr/suivi-de-colis/[email protected] Et quand vous passez votre commande en "En cours de livraison" comme N° de suivi, vous devez mettre ceci : XXXXXXXX&CodePostal=ZZZZZ XXXXXXXX = N° de suivi fournis par Mondial Relay ZZZZZ = Code postal du client J'utilise actuellement cette méthode car je ne peux pas faire la MAJ du module, je ne sais même pas si une solution à été trouvée dans les nouveaux modules eux-même...
  19. Bonjour à tous, j'ai trouvé une solution qui semble fonctionner. J'ai regardé le code source de la page de suivi Mondial Relay. A l'intérieur, il y a un formulaire Post avec ces deux champs. Je me suis dis que peut être, en passant les variables par un GET (donc par l'adresse avec des ? et &), il accepterais... Apparemment c'est le cas, donc voici l'adresse qui à fonctionner de mon coter... Par contre, il faut trouvé comment récupérer le code postal du client pour l'intégré dans cette adresse.... [EDIT] Remplacez XXXXX, par le N° de suivi et ZZZZZ par le code postal du client [/EDIT] http://www.mondialrelay.fr/suivi-de-colis/?NumeroExpedition=XXXXX&CodePostal=ZZZZZ Testez et dites-moi si cela fonctionne. PS: Désoler pour le déterrage du topic
  20. Ok, pas simple. Bon pour le coup je me suis rendu compte que votre lien "Envoyer à un ami" possédais un id, hors le module non.... Sur cette ligne : <a href="#betterprice_form">{l s='Better Price ?' mod='betterprice'}</a> Remplacer par : <a id="betterprice_link" href="#betterprice_form">{l s='Better Price ?' mod='betterprice'}</a>
  21. Oups, désoler, la fatigue surement.... C'est corrigé Essayez ceci, ouvrez leftcolumnproduct.tpl du module et remplacer tout le contenu par ça : <script text="javascript"> {literal} $('document').ready(function(){ $('.betterprice_link a').fancybox({ 'hideOnContentClick': false }); $('.betterprice_cancel').click(function(){ $.fancybox.close(); }); $('#betterprice_submit').click(function(){ $('.betterprice_waiting').show(); $.post($("#betterprice_frm").attr("action"), $("#betterprice_frm").serialize()).done(function(data) { $('.betterprice_waiting').hide(); var result = jQuery.parseJSON(data); if (result.success == false) { var errors = ''; for (var i = 0; i < result.errors.length; i++) { errors = errors + '<li>' + result.errors[i] + '</li>'; } $("#betterprice_form_error").html('<ol class="errors">'+errors+'</ol>'); } else { $("#betterprice_form_error").html('<p class="success">'+result.success+'</p>'); $("#betterprice_frm").hide(); } }); return false; }); }); {/literal} </script> <li class="betterprice_link"> <a href="#betterprice_form">{l s='Better Price ?' mod='betterprice'}</a> </li> <div style="display:none"> <div id="betterprice_form"> <h2>{l s='Better Price ?' mod='betterprice'}</h2> <div class="product clearfix"> <img src="{$link->getImageLink($product->link_rewrite, (int)$cover['id_image'], 'home_default')}" alt="{$product->name|escape:html:'UTF-8'}" /> <div class="product_desc"> <p class="product_name"><strong>{$product->name}</strong></p> {$product->description_short} {if $product->show_price AND !isset($restricted_country_mode) AND !$PS_CATALOG_MODE}<p class="price_container"><span class="price">{if !$priceDisplay}{convertPrice price=$product->getPrice()}{else}{convertPrice price=$product->getPrice(false)}{/if}</span></p>{else}<div style="height:21px;"></div>{/if} </div> </div> <div class="betterprice_form_content"> <div class="betterprice_waiting"><img src="{$img_ps_dir}loadingAnimation.gif" alt="{l s='Please wait' mod='betterprice'}" /></div> <div id="betterprice_form_error"></div> <form action="{$link->getModuleLink('betterprice')}" method="post" id="betterprice_frm"> <div class="betterprice_form_container"> <div class="intro_form">{$terms}</div> <p class="betterprice_form"> <label for="betterprice_firstname">{l s='Firstname' mod='betterprice'} <sup class="required">*</sup> :</label> <input id="betterprice_firstname" name="betterprice_firstname" type="text" value=""/> </p> <p class="betterprice_form"> <label for="betterprice_lastname">{l s='Lastname' mod='betterprice'} <sup class="required">*</sup> :</label> <input id="betterprice_lastname" name="betterprice_lastname" type="text" value=""/> </p> <p class="betterprice_form"> <label for="betterprice_email">{l s='Email' mod='betterprice'} <sup class="required">*</sup> :</label> <input id="betterprice_email" name="betterprice_email" type="text" value=""/> </p> <p class="betterprice_form"> <label for="betterprice_url">{l s='URL' mod='betterprice'} <sup class="required">*</sup> :</label> <input id="betterprice_url" name="betterprice_url" type="text" value=""/> </p> <p class="betterprice_form"> <label for="betterprice_price">{l s='Price' mod='betterprice'} <sup class="required">*</sup> :</label> <input id="betterprice_price" name="betterprice_price" type="text" value=""/> </p> <p class="betterprice_form"> <label for="betterprice_comment">{l s='Comment' mod='betterprice'} :</label> <textarea cols="60" rows="3" name="betterprice_comment" id="betterprice_comment"></textarea> </p> <p class="txt_required"><sup class="required">*</sup> {l s='Required fields' mod='betterprice'}</p> </div> <p class="submit"> <input id="betterprice_product" name="betterprice_product" type="hidden" value="{$product->id}" /> <input type="button" class="betterprice_cancel" value="{l s='Cancel' mod='betterprice'}" /> {l s='or' mod='betterprice'} <input id="betterprice_submit" class="button" name="betterprice_submit" type="submit" value="{l s='Send' mod='betterprice'}" /> </p> </div> </form> </div> </div>
  22. J'ai regardé le code source, et quelque choses d'assez étrange m’ait venu à l'esprit... A aucun moment, le fichier JS et CSS du module n'apparaissent dans vos pages..... Pouvez-vous désactiver les options CCC dans votre BO ? pour vérifier si cela est fondé... et, essayez ceci, ouvrez betterprice/betterprice.php Recherchez ça : public function hookDisplayHeader($params) Remplacez par : public function hookHeader($params)
  23. Ok, effectivement, peut être que votre thème pose un petit soucis. Avez-vous testé en désactivant le module "envoyer à un ami" ?
  24. Bonjour, cela ne fonctionne pas, je viens de tester, simplement par ce que le formulaire est géré différemment. Par contre je viens de tester ceci, et de mon coter, cela fonctionne : <li class="betterprice_link"><a href="{$this_path}#betterprice_form">{l s='Better Price ?' mod='betterprice'}</a></li>
×
×
  • Create New...

Important Information

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