Navigation

    aide prestashop

    PrestaHelp

    • S'inscrire
    • Se connecter
    • Recherche
    • Catégories
    • Récent
    • Mots-clés
    • Populaire
    • Utilisateurs
    • Groupes
    • Recherche
    1. Accueil
    2. okom3pom
    3. Messages
    O
    • Profil
    • Abonnements
    • Abonnés
    • Sujets
    • Messages
    • Meilleur sujets
    • Groupes

    Messages postés par okom3pom

    • RE: Des modules et des hacks - liste non exhaustive des modules présentant un risque

      Module JA Marketplace V 6.2 et sûrement avant

      posté dans Discussion générale
      O
      okom3pom
    • RE: Des modules et des hacks - liste non exhaustive des modules présentant un risque

      3 nouveaux modules :

      colorpictures
      explorerpro
      sampledatainstall

      posté dans Discussion générale
      O
      okom3pom
    • RE: Des modules et des hacks - liste non exhaustive des modules présentant un risque

      Bonjour,

      Nouveaux thèmes avec module :

      Pour information :
      Il y avait une faille de sécurité dans le module jmsslider.
      Le module est installé avec les thèmes de https://www.joommasters.com/
      La faille est dans le fichier ajax_jmsslider.php et permet d'uploader un fichier PHP sur le serveur (donc prise de contrôle de la boutique).
      La faille existe si le module est présent, il n'y a pas besoin d'installer le module ni de l'activer.
      La faille a été corrigé fin juillet dans le module.

      Thomas

      posté dans Discussion générale
      O
      okom3pom
    • RE: Copieurs-Colleurs

      Parfait je garde l'url :)

      posté dans Discussion générale
      O
      okom3pom
    • RE: Des modules et des hacks - liste non exhaustive des modules présentant un risque

      Génial !

      Ca aide beaucoup je vais lister les modules que j'ai trouvé également, les codes on souvent été enlevé ou corrigé mais je n'ai pas souvent eu d'info sur les fixs.

      1 ) https://www.prestashop.com/forums/topic/168254-module-controleur-activation-de-compte-par-email-validation-dadresse-mail/

      2 ) module-sale-category-appliquer-une-reductionmettre-en-solde-tous-les-produits-dune-categorie

      3 ) https://www.prestashop.com/forums/topic/196722-module-gratuit-changer-le-transporteur/

      4 ) https://www.prestashop.com/forums/topic/258668-module-mini-sondage-comment-nous-avez-vous-connu-ps1415/page-3

      5 ) https://github.com/xanaxilovsky/lexikotron

      6 ) https://github.com/PrestaSafe/prestanews/pull/1

      posté dans Discussion générale
      O
      okom3pom
    • RE: Personnalisation des urls des étapes d'achat

      Oui c est possible en éditant les tpls et ajouter une variable dans les form

      posté dans Discussion générale
      O
      okom3pom
    • RE: Réglementation EU 524/2013 (9 Janvier 2016)

      Il y a deux choses.

      Un lien vers cette plateforme. ( obligatoire sur toutes les pages )

      Et il faut également un médiateur. ( Les coordonnées doivent être dans les CGV )
      Il existe plusieurs types :

      • Un abonnement à l'année pas cher et tu payes au litige
      • Un abonnement cher et tu ne payes pas au litige
      • Adhérer à une association de E-commerçant qui propose ce service.
      posté dans Discussion générale
      O
      okom3pom
    • RE: [1.6.1.12]- Header de cross-orgin invalide avec les CDN

      Merci perso comme un con j'avais ajouté en dessous sans me demander pourquoi :

      # ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again
      
      <FilesMatch "\.(ttf|otf|eot|woff)$">
          <IfModule mod_headers.c>
              Header set Access-Control-Allow-Origin "*"
          </IfModule>
      </FilesMatch>
      

      Voilà c'est corrigé.

      posté dans BUG connus
      O
      okom3pom
    • Rendre le module mailjet GDPR

      Bonjour,

      Voici une astuce pour rendre le module mailjet RGPD

      Avant toute chose la version du module utilisée est la 3.4.14 disponible ici :

      https://github.com/mailjet/prestashop-mailjet-plugin-apiv3/releases

      Ouvrir le fichier mailjet.php

      A la fin du fichier ajouter avant le dernier }

          public function hookActionExportGDPRData($customer)
          {
              if (!Tools::isEmpty($customer['email']) && Validate::isEmail($customer['email'])) {
      
                  if (!$customer) {
                      return false;
                  }
      
                  $initialSynchronization = new HooksSynchronizationSingleUser(MailjetTemplate::getApi());
                  $customerMailJet = $initialSynchronization->getCustomerByEmail($customer['email']);
                  
                  if( !$customerMailJet || empty($customerMailJet) ) {
                      return json_encode($this->l('Mailjet : Unable to export customer using email.'));
                  }
      
      
                  $dateAdd = new DateTime($customerMailJet->Data[0]->CreatedAt);
                  $dateLastActivity = new DateTime($customerMailJet->Data[0]->LastActivityAt);      
      
                  $return[] = [
                      $this->l('Email') => $customerMailJet->Data[0]->Email,
                      $this->l('Date add') => $dateAdd->format('Y-m-d H:i:s'),
                      $this->l('Newsletters sended') => $customerMailJet->Data[0]->DeliveredCount,
                      $this->l('Last Activity') =>  $dateLastActivity->format('Y-m-d H:i:s'), 
                  ];
      
                  return  json_encode($return);
      
              }
          }
      
          public function hookRegisterGDPRConsent($param)
          {
      
              return;
          }
      
      

      Ouvrir le fichier classes/hooks/synchronization/SingleUser.php

      Ajouter à la fin juste avant le dernier }

          /**
           * Get Contact information by email
           * @param string $email
           * @return object
           */
          public function getCustomerByEmail($email)
          {
              $apiOverlay = $this->getApiOverlay();
      
              $contact= $apiOverlay->getContactByEmail($email);
      
              if (!$contact) {
                  return false;
              }
      
              return $contact;
      
          }
      
      

      Greffer le module sur le deux nouveaux hooks

      Enjoy !

      0_1530016824018_mail-jet-gdpr.png

      Dans la logique on a pas besoin du hook delete car il y a déjà une action sur les hook pour ça ... au pire c'est quelques lignes de codes

      posté dans Tutoriels
      O
      okom3pom
    • RE: StockAvailable et setQuantity();

      StockAvailable::setQuantity($this->id, $id_product_attribute, $quantity);

      Est bien appelé avec un $id_product_attribute.

      Le problème c'est qu'il est relancé plus loin dedans avec un $id_product_attribute à 0

      posté dans Discussion générale
      O
      okom3pom
    • StockAvailable et setQuantity();

      Salut,

      Je deviens fou je ne comprends ce qu'il se passe et ça m'énerve.

      Prestashop 1.6.1.18 tout neuf

      Je m'explique je n'utilisais pas le module mailalerts pour les articles hors stock, j'ai décidé de l'installer. Il fonctionne très bien sauf que les clients ne reçoivent pas de mail quand je mets à jours les stocks.

      Dans mon débug je bloque ici :

      https://github.com/PrestaShop/PrestaShop/blob/1.6.1.x/classes/stock/StockAvailable.php#L507

      Si je mets juste arpès cette ligne un d($id_product_attribute);

      Il est set à 0 donc plus bas le

                  Hook::exec('actionUpdateQuantity',
                      array(
                          'id_product' => $id_product,
                          'id_product_attribute' => $id_product_attribute,
                          'quantity' => $stock_available->quantity
                      )
                  );
      

      Ne fait pas travailler le module mailalerts car il a un ipa à 0 ...

      Si je mets le d($id_product_attribute); juste avant pas de soucis.

      J'ai donc remonté jusqu'à $this->upate(); et même dans ObjectModel je ne trouve pas d'ou ça vient.

      posté dans Discussion générale
      O
      okom3pom
    • RE: thème par défaut à modifier ou à changer ?

      @poisson_davril a dit dans thème par défaut à modifier ou à changer ? :

      Je lis ici ou là que ce thème 'na pas "vocation" à être gardé. La question que je me pose est pourquoi ?

      Car c'est le thème par défaut qu'il n'est pas optimisé et que beaucoup de boutique utilisent ce thème vous ne sortirez pas du lot des autres boutique.

      Quelque soit le thème il y aura quand même des modifications à faire.

      Pour le choix on ne peut pas vous aider c'est selon ce que vous voulez renvoyer comme image à vos clients.

      Par contre je peux vous déconseiller les thèmes de Template Monster, les grosses place de marché de thème.

      PS : Ce qui est pas mal quand on pose des questions sur les thèmes c'est quand même dire ce qu'on vend :laughing:

      posté dans Discussion générale
      O
      okom3pom
    • RE: [1.6.X.X] Le module loyalty s'affiche sur les articles en promotion

      Pour les versions 1.6.1.X

      $(document).ready(function() {
      	$(document).on('change', '#our_price_display', function(e){
      		updateLoyaltyView(priceWithDiscountsDisplay);
      	})
      	updateLoyaltyView(priceWithDiscountsDisplay);
      });
      
      function updateLoyaltyView(new_price) {
      	if (typeof(new_price) == 'undefined' || typeof(productPriceWithoutReduction) == 'undefined')
      		return;
      
      	var points = Math.floor(new_price / point_rate);
      	var total_points = points_in_cart + points;
      	var voucher = total_points * point_value;
      
      	if (none_award == 0 && productPriceWithoutReduction != new_price) {
      		$('#loyalty').html(loyalty_already);
      	}
      	else if (!points) {
      		$('#loyalty').html(loyalty_nopoints);
      	}
      	else
      	{
      		var content = loyalty_willcollect + " <b><span id=\"loyalty_points\">"+points+'</span> ';
      		if (points > 1)
      			content += loyalty_points + "</b>. ";
      		else
      			content += loyalty_point + "</b>. ";
      
      		content += loyalty_total + " <b><span id=\"total_loyalty_points\">"+total_points+'</span> ';
      		if (total_points > 1)
      			content += loyalty_points;
      		else
      			content += loyalty_point;
      
      		content += '</b> ' + loyalty_converted + ' ';
      		content += '<span id="loyalty_price">'+formatCurrency(voucher, currencyFormat, currencySign, currencyBlank)+'</span>.';
      		$('#loyalty').html(content);
      	}
      }
      

      Fonctionne également si un produit à une remise que sur une déclinaison.

      posté dans BUG connus
      O
      okom3pom
    • [1.6.X.X] Le module loyalty s'affiche sur les articles en promotion

      Le module loyalty affiche des points de fidélité sur les articles en promotion alors que dans le backoffice il est coché ne pas donner de points aux articles en promotion.

      Prestashop compare une variable avec parseInt qui retourne donc un nombre entier.

      Ca fonctionne de nouveau pour les versions de theme > 1.6.1.0 avec

      https://github.com/PrestaShop/PrestaShop/pull/8791

      Autre solution qui fonctionnera en 1.6.0.X ( @doekia )

      Ajouter dans le tpl

      {addJsDef no_pts_discounted=$no_pts_discounted}
      

      Remplacer :

      if (typeof(new_price) == 'undefined' || typeof(productPriceWithoutReduction) == 'undefined')
      

      Par

      if (typeof(new_price) == 'undefined' || typeof(productPriceWithoutReduction) == 'undefined' || no_pts_discounted == 1)
      
      posté dans BUG connus
      O
      okom3pom
    • RE: Multi boutique : shop modifié et non modifié

      Je ne sais même pas pourquoi je me suis posé la question ...

      On s'en fiche si le nouveau thème est installé depuis l'adresse de la nouvelle boutique.

      J'avais peur d'override des modules à cause du nouveau thème.

      posté dans Discussion générale
      O
      okom3pom
    • Multi boutique : shop modifié et non modifié

      Bonjour,

      Mon Shop est en multi-boutique pour les langues.

      Un FTP différent pour chaque boutique qui embarque tous les overrides / modifs du site.

      Je veux ajouter une autre boutique qui n'aura pas besoin des overrides / modifs mais juste des stocks partagés, est ce que je peux uploader la version de Prestashop vierge utilisée sur les autres boutiques ?

      Je ne vois pas ou ça pourrait coincer mais je préfère poser la question si vous avez rencontré un soucis sur un déploiement similaire.

      Dans l'attente je lance mes tests.

      Merci.

      posté dans Discussion générale
      O
      okom3pom
    • RE: SQL : Alter table Add if not exist

      Merci pour la réponse
      Ca me rassure car je bloquais complètement.

      posté dans Discussion générale
      O
      okom3pom
    • RE: SQL : Alter table Add if not exist

      Je n'ai pas réussi avec une seule ligne SQL

      J'ai donc utilisé ça :

          $sql = "SHOW COLUMNS FROM ps_vip LIKE 'recall'";
          $res = Db::getInstance()->executeS($sql);
          if (!isset($res[0]['Field'])) {
              $add = "ALTER TABLE `ps_vip` ADD `recall` int(1) NOT NULL default '0';";
              if (!Db::getInstance()->Execute($add)) {
                  $success = false;
              }
          }```
      
      Il doit sûrement exister un meilleure façon mais je ne l'ai pas trouvé.
      posté dans Discussion générale
      O
      okom3pom
    • SQL : Alter table Add if not exist

      Bonjour,

      Je sais que cette notion n'existe pas ...

      Mais malgré avoir lu et cherché, je bloque j'ai toujours une erreur dans mes tests.

      J'avoue ne pas comprendre ce qui cloche ou ce que je loupe, je continue de chercher mais au cas ou, si quelqu'un à une piste

      Info :

      Version du serveur : 5.5.55-0ubuntu0.14.04.1 - (Ubuntu)

      Merci

      posté dans Discussion générale
      O
      okom3pom
    • RE: commande qui ne remontent pas

      Vous recevez un mails quand il y a un payement ?
      Souvent les plateformes vous envoient un mail avec le mauvais retour.

      Exemple chez moi au CIC

      Bonjour,
      
      Nous vous informons que votre interface retour a emis un accuse de reception INVALIDE et la commande a ete VALIDEE.
      RECAPITULATIF DU PAIEMENT :
      
      
      Numero de TPE commercant : xxxx
      Date de votre système : 2018-01-29 à 11:54:55
      Date du paiement : 2018-01-29 à 11:54:53 (UTC+01:00)
      Reference du paiement : 5a6efd7f7c0d
      Montant du paiement : 25 EUR
      Descriptif du paiement : No Panier :489849: A l attention de xxxxx en date du 29/01/2018-11:54:55
      
      Vous trouverez ci-dessous les informations relatives à la requête émise par notre serveur ainsi que l'accuse de reception envoye par votre interface de retour.
      
      NB : Un accuse de reception invalide n'a aucune incidence sur le paiement. Vous pouvez vous connecter a votre tableau de bord pour consulter l'etat de la commande.
      
      REQUETE EMISE PAR NOTRE SERVEUR : http://www.chafoins.com:80/presta2/modules/xxxxx/validation.php?TPE=6xxxx8&date=29%2f01%2f2018%5fa%5f11%3a55%3a03&montant=25EUR&reference=5a6efd7f7c0d&MAC=715B283C0F0B4FC4704BA0247732E8F86048C804&texte-libre=No+Panier+%3a489849%3a+A+l+attention+de+Thomas+Roux+en+date+du+29%2f01%2f2018%2d11%3a54%3a55&code-retour=payetest&cvx=oui&vld=1219&brand=MC&status3ds=-1&numauto=000000&originecb=FRA&bincb=000003&hpancb=69543xxx49981D40D3CE5BE85430A39069&ipclient=xxx&originetr=FRA&veres=&pares=&motifdebrayage=seuilnonatteint&modepaiement=CB
      Methode retenue : POST
      TPE : 6592518
      Host appele : www.chafoins.com
      Port : 80
      CGI appele : /presta2/modules/xxxxxx/validation.php
      Requete emise : TPE=xxxx18&date=29%2f01%2f2018%5fa%5f11%3a55%3a03&montant=25EUR&reference=5a6efd7f7c0d&MAC=715B283C0F0B4FC4704BA0247732E8F86048C804&texte-libre=No+Panier+%3axx9%3a+A+l+attention+de+Thomas+Roux+en+date+du+29%2f01%2f2018%2d11%3a54%3a55&code-retour=payetest&cvx=oui&vld=1219&brand=MC&status3ds=-1&numauto=000000&originecb=FRA&bincb=000003&hpancb=69543BC5C51EC849981D40D3CE5BE85430A39069&ipclient=82%xxxx%2e35&originetr=FRA&veres=&pares=&motifdebrayage=seuilnonatteint&modepaiement=CB
      
      Erreur 0
      
      REPONSE DE VOTRE CGI DE CONFIRMATION : 
      

      Dans ce mail si tu actives les erreurs de prestashop tu verras ce qui bloque la remontée des commande.

      Après je ne sais pas comment fonctionne Lydia

      posté dans Discussion générale
      O
      okom3pom