Joomladay francophone 2018 à Paris 18 et 19 mai

Prix réduits impossible en Legacy

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Prix réduits impossible en Legacy

    Bonjour.
    J'ai besoin du plugin legacy pour faire fonctionner certains composants (JUGA par exemple)

    Et d'un autre coté, je dois pouvoir faire des remises de prix dans Virtuemart.

    Le souci est que si le mode legacy est activé, dans la partie administrator, je ne peux pas créer de remise, on dirait que ce champ n'est pas uploadé.

    Donc il faudrait qu'a chaque ajout de produit, je désactive le legacy et que je le remette ensuite.
    Comme c'est un site de vente privées il y a régulierement de nouveaux produits et si je désactive le plugin, ca veut dire que JUGA ne fera plus ce que je lui demande et donc ==> Carnage le temps que j'ajoute les produits.

    Quelqu'un peut me dire ce qui est modifié dans ce cas par la présence du mode legacy et comment contourner ce probleme ?

    Merci.

  • #2
    C'est le pb avec le plugin Legacy. Lorsque active, pour certains composants, il peut interferer sur d'autres composants ou fonctionnalites, comme tu es en train de l'eprouver.
    sommaire thématique des astuces du forum e-commerce ici http://www.webtimarket.com/fr/telechargements
    http://virtuemart.fr

    Commentaire


    • #3
      Franchement pas pratique comme truc...
      Les devs joomla auraient du faire un pluggin permettant de faire fonctionner les anciennes versions sans toucher à celles compatibles.

      Enfin.. j'ai résolu le problème en faisant un petit hack :
      /administrator/components/com_virtuemart/classes/ps_product.php : pas loin de la ligne 70

      J'ai vu que l'id du discount était déjà récupéré dans le fichier inclu juste au dessus donc :
      Remplacer :
      $ps_product_discount = new ps_product_discount;
      $ps_product_discount->add( $d );
      $d['product_discount_id'] = $database->insertid();
      vmRequest::setVar( 'product_discount_id', $d['product_discount_id'] );
      Par :
      $ps_product_discount = new ps_product_discount;
      $ps_product_discount->add( $d );
      // $d['product_discount_id'] = $database->insertid();
      $d['product_discount_id'] = $_REQUEST['discount_id'];
      vmRequest::setVar( 'product_discount_id', $d['product_discount_id'] );

      Commentaire


      • #4
        Bien vu! Je l'ai integre dans le post trucs et astuces / login groupe utilisateurs puisqu'en relation avec JUGA

        Merci

        A plus
        Dernière édition par PATSXM971 à 27/04/2009, 15h43
        sommaire thématique des astuces du forum e-commerce ici http://www.webtimarket.com/fr/telechargements
        http://virtuemart.fr

        Commentaire


        • #5
          modifier aussi dans cette page /administrator/components/com_virtuemart/classes/ps_product.php

          ceci


          function get_discount( $product_id ) {
          global $mosConfig_lifetime;

          // We use the Session now to store the discount info for
          // each product. But this info can change regularly,
          // so we check if the session time has expired
          if( empty( $_SESSION['product_sess'][$product_id]['discount_info'] )
          || (time() - $_SESSION['product_sess'][$product_id]['discount_info']['create_time'] )>$mosConfig_lifetime) {
          $db = new ps_DB;
          $starttime = time();
          $year = date('Y');
          $month = date('n');
          $day = date('j');
          // get the beginning time of today
          $endofday = mktime(0, 0, 0, $month, $day, $year) - 1440;

          // Get the DISCOUNT AMOUNT
          $q = "SELECT amount,is_percent FROM #__{vm}_product,#__{vm}_product_discount ";
          $q .= "WHERE product_id='$product_id' AND (start_date<='$starttime' OR start_date=0) AND (end_date>='$endofday' OR end_date=0) ";
          $q .= "AND product_discount_id=discount_id";
          $db->query( $q );
          if( $db->next_record() ) {
          $discount_info["amount"] = $db->f("amount");
          $discount_info["is_percent"] = $db->f("is_percent");
          $no_discount = false;
          }
          else {
          $discount_info["amount"] = 0;
          $discount_info["is_percent"] = 0;
          $no_discount = true;
          }
          if ($no_discount) {
          $q = "SELECT product_parent_id FROM #__{vm}_product WHERE product_id=$product_id";
          $db->query($q);
          if($db->next_record()) {
          $q = "SELECT amount,is_percent FROM #__{vm}_product,#__{vm}_product_discount ";
          $q .= "WHERE product_id='".$db->f("product_parent_id")."' AND (start_date<='$starttime' OR start_date=0) AND (end_date>='$endofday' OR end_date=0) ";
          $q .= "AND product_discount_id=discount_id";
          $db->query( $q );
          if( $db->next_record() ) {
          $discount_info["amount"] = $db->f("amount");
          $discount_info["is_percent"] = $db->f("is_percent");
          }
          }
          }
          $discount_info['create_time'] = time();
          $_SESSION['product_sess'][$product_id]['discount_info'] = $discount_info;
          return $discount_info;
          }
          else
          return $_SESSION['product_sess'][$product_id]['discount_info'];
          }

          par


          function get_discount( $product_id ) {
          global $mosConfig_lifetime;

          // We use the Session now to store the discount info for
          // each product. But this info can change regularly,
          // so we check if the session time has expired
          // Hacked by DesignerSandbox
          // Remark this action, so it will run strict
          // if( empty( $_SESSION['product_sess'][$product_id]['discount_info'] )
          // || (time() - $_SESSION['product_sess'][$product_id]['discount_info']['create_time'] )>$mosConfig_lifetime) {
          $db = new ps_DB;
          $starttime = time();
          $year = date('Y');
          $month = date('n');
          $day = date('j');
          // get the beginning time of today
          $endofday = mktime(0, 0, 0, $month, $day, $year) - 1440;

          // Get the DISCOUNT AMOUNT
          $q = "SELECT amount,is_percent FROM #__{vm}_product,#__{vm}_product_discount ";
          $q .= "WHERE product_id='$product_id' AND (start_date<='$starttime' OR start_date=0) AND (end_date>='$endofday' OR end_date=0) ";
          $q .= "AND product_discount_id=discount_id";
          $db->query( $q );
          if( $db->next_record() ) {
          $discount_info["amount"] = $db->f("amount");
          $discount_info["is_percent"] = $db->f("is_percent");
          $no_discount = false;
          }
          else {
          $discount_info["amount"] = 0;
          $discount_info["is_percent"] = 0;
          $no_discount = true;
          }
          if ($no_discount) {
          $q = "SELECT product_parent_id FROM #__{vm}_product WHERE product_id=$product_id";
          $db->query($q);
          if($db->next_record()) {
          $q = "SELECT amount,is_percent FROM #__{vm}_product,#__{vm}_product_discount ";
          $q .= "WHERE product_id='".$db->f("product_parent_id")."' AND (start_date<='$starttime' OR start_date=0) AND (end_date>='$endofday' OR end_date=0) ";
          $q .= "AND product_discount_id=discount_id";
          $db->query( $q );
          if( $db->next_record() ) {
          $discount_info["amount"] = $db->f("amount");
          $discount_info["is_percent"] = $db->f("is_percent");
          }
          }
          }
          $discount_info['create_time'] = time();
          $_SESSION['product_sess'][$product_id]['discount_info'] = $discount_info;
          return $discount_info;
          // }
          // else
          // return $_SESSION['product_sess'][$product_id]['discount_info'];
          }



          http://www.designersandbox.com/jooml...discount-hack/

          Commentaire

          Annonce

          Réduire
          1 sur 2 < >

          C'est [Réglé] et on n'en parle plus ?

          A quoi ça sert ?
          La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

          Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

          Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
          Comment ajouter la mention [Réglé] à votre discussion ?
          1 - Aller sur votre discussion et éditer votre premier message :


          2 - Cliquer sur la liste déroulante Préfixe.

          3 - Choisir le préfixe [Réglé].


          4 - Et voilà… votre discussion est désormais identifiée comme réglée.

          2 sur 2 < >

          Assistance au forum - Outil de publication d'infos de votre site

          Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

          Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

          Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

          UTILISER À VOS PROPRES RISQUES :
          L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

          Problèmes connus :
          FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

          Installation :

          1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

          Archive zip : https://github.com/AFUJ/FPA/zipball/master

          2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

          3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

          4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

          5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

          6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
          et remplacer www. votresite .com par votre nom de domaine


          Exemples:
          Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
          Télécharger le script fpa-fr.php dans: /public_html/
          Pour executer le script: http://www..com/fpa-fr.php

          Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
          Télécharger le script fpa-fr.php dans: /public_html/cms/
          Pour executer le script: http://www..com/cms/fpa-fr.php

          En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

          Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
          Voir plus
          Voir moins
          Travaille ...
          X