anceze

Utilisateur open source
  • Compteur de contenus

    93
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par anceze


  1. Bonjour;

     

    J'ai testé ce bug avec une version non modifié des fichiers.

    Si je met une option de taille a un produit; que je l'ajoute au panier, le lien dans le drop down menu de produit_detail, quand je clic l'icon panier, le lien s'affiche ainsi :

    http://www.anceze.com/bordeauxdemo//achat/produit_details.php?id=1?sId=1

     

    Il y a deux  "?" au lieu d'un "?" et un "&"

    Donc ca bug.

    Je n'ai pas encore cherché comme le résoudre.

     

    Bonne journée


  2. Bonjour.

    J'ai presque achevé la modification grâce à vous. :)

    Il me reste à solution mon panier en fonction des mes stock un peu particulier.

    Je ne cherche pas une solution adapté au système  PEEL, juste un truc qui marche mais si pas propre et peu sécurisant.

    Voir exemple en fin de message avec mon code pour faire varier les sélections d'option attributs entre eux.

     

    Je pense coller une simple requête SQL dans le ou les bons bon fichier .php pour aller récupérer les produit en stock et quantité.

    Seulement en base de donnée je dois savoir ce que je dois chercher.

     

    Si dans phpmyadmin (ou autre gestionnaire de db) je veux savoir quel produit ce client a dans son panier.

    Comment dois-*je construire une requête classique ?

    SELECT ??? IN ??? WHERE ???

     

    Exemple de débrouillardise sur les select :

    Critère stock :

    	<select class="form-control" id="{$id_select_size}" name="taille" onchange=" variateur(); update_product_price{$save_suffix_id}();">

    Produits_detail (j'ai doublé la mise à jour du prix par sécurité)

    function variateur()
    {
    		
    
    		if (document.getElementById('taille').value == 1 || document.getElementById('taille').value == 2)
    		{
    			document.getElementById(num1).options[1].disabled='disabled';
    			document.getElementById(num1).selectedIndex  = 0;
    			document.getElementById(num1).options[1].style.color = '#aaaaaa';
    		}
    		else
    		{
    			document.getElementById(num1).options[1].disabled=false;
    			document.getElementById(num1).options[1].style.color = '#000000';
    		}
    
    		for (i=0;i<5;i++)
    		{
    			if (i == document.getElementById('taille').value)
    			{
    				document.getElementById(num2).options[i].disabled=false;
    				if (document.getElementById(num2).selectedIndex != 0)
    				{
    					document.getElementById(num2).selectedIndex  = i;
    				}				
    				document.getElementById(num2).options[i].style.color = '#000000';
    			}
    			else if (i !=0)
    			{
    				document.getElementById(num2).options[i].disabled='disabled';
    				document.getElementById(num2).options[i].style.color = '#aaaaaa';
    			}
    		}
    		update_product_price{$save_suffix_id}();
    }
    </script>
    

     

    Bonnes journées
    Yann Anceze


  3. Bonjour.

     

    Où définir la quantité de produits par ligne pour les nouveautés, promo etc sachant que pour moi actuellement elles s'affichent en page d'accueil. ?

     

    J'aimerais le même visuel dans les nouveauté que les catégories.

     

    J'aimerais aussi changer l'ordre d'affiche des produits dans les catégories et en page d’accueil dans les nouveautés.

     

    Bonne journée


  4. Bonjour.

     

    Je voudrais n'afficher les prix que dans produit détail et pas en en page d'accueil, ni dans les catégories.

    Y-a-t-il  une solution simple ?

     

    Ok c'est bon. Je ne cherchais pas dans le bon fichier.

    Produits.tpl

     

    <!-- DESACTIVER AFFICHAGE DU PRIX : 	{if empty($prod.check_critere_stock)}<div class="fc_prix">{if !empty($prod.on_estimate)}{$prod.on_estimate}{else}<span class="prix">&nbsp;</span>{/if}</div>{/if} -->

     

     

    Bonne journée

     


  5. Bonjour.

     

    Dans le panier PEEL afficher les zones d'expédition mais c'est parfaitement ingérable pour les clients de voir zone 1 zone 2 zone 3.

    Surtout quand il est impossible de les nommer europe ou UE quand le transporteur prévoit des tarifs différents pour certains pays de l'UE.

    Etc.

    Y-a-t-il un moyen simple d'afficher directement les pays au lieu de zones ?

     

     

    2 eme point

    Est-il possible de désactiver une zone sans la supprimer ?

    Bonne journée

     


  6. Bonjour.

     

    Je ne comprends pas comment configurer paypal.

    Je n'ai rien eu à faire sur mon précédent site (solution ecommerce) hors mis entrer l'email paypal.

     

    J'ai bien trois fois mon email de noté dans "Gérer les sites" -> "Configuration du site"

    Le email est celui de mon compte paypal.

    Pour test je les ai supprimé, et changé pour celui du support, validé, puis remis, idem.

     

    Mais la page des moyens de paiement m'affiche toujours :

    DESCATIVE : email du compte paypal (obligatoire sinon module inactif)

     

    Dois-je suivre le tuto paypal en plus ?

    https://www.paypal.com/businessprofile/mytools/apiaccess

     

    Bonne journée


  7. Bonjour

     

    Est-ce possible de faire une copier de "contact" dans la catégorie "autre".

    Je veux y ajouter en plus 4 champs d'upload avec limitation de taille et d'extension.

    Changement des nom de langes pour choix de sujet et numero de commande.

    Même destinataire,

     

    Ceci va clore la première partie du site.

    Je poursuivrais plus tranquillement les stock attributs après cela.

     

    Bonne journée


  8. Je vais devoir me débrouiller "seul", je suis loin d'avoir les moyens financier adéquates (proche de zéro).

     

    Pourquoi supprimer les "fonctions d'attribut selon le stock disponible".

    Je suis en PEEL shopping donc je n'ai pas le module.

     

    Je vais déjà essayer de récupérer les quantités.

    Histoire de ne pas travailler en aveugle, est-ce qu'il y a un code permettant de faire une alert ou une popup, pour les codes php pour faire apparaitre une variable par exemple..

    Car si je fais un classique <? echo "<script>alert ... Ca ne passe pas.

     

    MErci

    Bonne journée

     

     


  9. Bonjour.

    J'ai déjà fais la création produit et la mise à jour des stock à la commande.

    Je dois maintenant gérer le panier et le module d'ajout au panier.

     

    Module d'ajout au panier : étape 1

    L'attribut 1 me permet de choisir les options d'attribut 1, 2 et 3.

    J'ai créé un stock pour chacune de ces options.
    Seul cet attribut à des options avec stock.

    Si le stock de cet option d'attribut est à zéro en comptant le panier,  je veux retirer cette option du menu/select de l'attribut correspondant.

    Je pensais au plus simple à l'évincé lors de l'affichage.

    Je veux être certain de partir dans le bon sens, vers les bon fichiers, dans les bonnes fonctions.
    Pourriez-vous me guidez à nouveau svp ?

    Code d'exemple (qui n'a pas les bonne variables)

    Problématique que je vais rencontrer ; je n'ai jamais rien compris aux paniers et aux sessions.
    Les informations panier (produit en attente) sont elles en base de données ?

    <?php
    
    // ma nouvelle table pour gérer les stock d'options
      $query = query("
               SELECT attributs_id, produit_id, stock  
               FROM peel_produits_attributs_stock 
               WHERE produit_id =".$this_produit_id); 
    
              // Récupération des stock pour chaque option.
              $attributs_stock=array();
              while ($res = fetch_assoc($query)) 
              {            
               $attribut_id    = $res['attributs_id'];
               $stock          = $res['stock'];
               $attribut_stock[$attribut_id]=$stock;
              }
              
              // Par défaut 0 quantité en panier pour chaque attribut_stock de ce produit.
              $attributs_1_panier = 0;
              $attributs_2_panier = 0;
              $attributs_3_panier = 0;
              
              // Si panier non vide
              if (!empty($session_panier))
              {
                  // pour chaque insertion dans le panier
                  foreach($session_panier as $key => $value)
                  {
                      // S'il s'agit du produit en cours
                      if ($key['produit_id'] == $this_produit_id)
                      {
                          // Quelle quantité en attente dans le panier ?
                          $panier_qté = $key['qte'];
                          
                          // Liste des attributs en panier pour ce produit
                          $attributs_list = $key['attribut_list'];
                          
                          // Quel quantité attribut de stock pour ce produit en panier ?
                          // On cumule si cet attributs_stock a été ajouté dans d'autres tailles par exemple.  
                          if     (stripos($attributs_list, '1|1') == true){$attributs_1_panier = $attributs_1_panier + $panier_qté;}
                          elseif (stripos($attributs_list, '1|2') == true){$attributs_2_panier = $attributs_2_panier + $panier_qté;}
                          elseif (stripos($attributs_list, '1|3') == true){$attributs_3_panier = $attributs_3_panier + $panier_qté;}
                      }
                  }
              }
              
              // si quantité panier < à stock => l'option sera activé non grisée.
              $attributs=array(1=>'',2=>'',3=>'');
              if ($attribut_stock[1] - $attributs_1_panier < 1){$attributs[1] = ' disabled';}
              if ($attribut_stock[2] - $attributs_2_panier < 1){$attributs[2] = ' disabled';}
              if ($attribut_stock[2] - $attributs_2_panier < 1){$attributs[3] = ' disabled';}
             
              
    
              // PUIS DANS LA CONSTRUCTION DU SELECTION / OPTION                               
              foreach ($attributs as $key => $value)
              {
              if($this_attribut_id == 1 && $this_attribut_option == $key){$attribut_statut = $attributs[$value];}
              }
              
              // Juste après l'insertion de la value de l'option
              echo $attribut_statut; 
    
    ?>

     

     

    Ci dessous des explications facultatives


    Explication de ma gestion des stock avec une parabole
    1 produit = 40 unité et 1 gadget dans un carton.
    Vente du carton entier (attribut 1) => vide les stock de tous les attributs.
    Vente du gadget (attribut 2) => stock gadget = 0 ; stock carton = 0 car il a été entamé ; stock unités non impacté
    Vente d'une unité normale (attribut 3) => stock unité -1 ; stock carton = 0 car il a été entamé ; stock gadget non impacté

     

    Nouvelle table : peel_produits_attributs_stock : ok

    id = sa seul utilité est de pouvoir modifier les stocks sous phpmyadmin
    produit_id = l'id du produit, pour chaque prduit
    Attribut_id = l'option d' attribut ayant un stock
    Stock = le stock pour chaque attribut_id.

     

    Chez moi ca donne ceci :

    Textes complets

     id produit_id attribut_id stock
    Modifier Modifier Copier Copier Effacer Effacer1111
    Modifier Modifier Copier Copier Effacer Effacer2121
    Modifier Modifier Copier Copier Effacer Effacer31340
    Modifier Modifier Copier Copier Effacer Effacer4711
    Modifier Modifier Copier Copier Effacer Effacer5721
    Modifier Modifier Copier Copier Effacer Effacer67340

     

    C'est donc un code très perso car je dois toujours conserver ces attributs_id.

     

    Création de produit : ok

    J'ai créer un module pour générée un produit selon un modèle donné.
    Ca m'ajoute automatiquement un produit avec les attributs et les options désirées.
    J'ai inclue l'ajout des insertion dans cette nouvelle table avec les valeur de stock par défaut.

     

    Mise à jour de stock : ok

    J'ai ajouté la fonction jointe en fin de message dans lib/fonctions/order.php
    Je la lance à la fin de  create_or_update_order avant le return

     

    Merci grandement pour votre aide.
    Je vous souhaite d'agréables journées.
     


  10. Merci.

    C'est vraiment une partie compliqué pour moi.

    Pour simplifier je dois supprimer la visibilité de l'option de quantité.

    Mes produits n'en ont pas besoin, au contraire même, c'est mieux sans.

    Je dois retirer le visuel de la possibilité de changer les quantité dans produit détail et dans le panier.

    - Je ne sais pas où.

     

    Ensuite ... on verra

     

    Bonnes journées


  11. Bonjour;

    Je suis obligé de faire mon propre module de stock pour deux raisons.

    J'ai pas d'argent, et mes stocks dépendent des options d'attribut perso en plus de dépendre les uns des autres.

    C'est compliqué mais là n'est pas le problème.

    J'ai déjà fais la gestion de création produit et celle finalisation de commande.

    Reste le panier, ca touche à la session et là je n'y connais rien.

     

    Au plus simple :

    1 - Il me semblait qu'il y avait une fonction en backoffice pour désactiver l'affichage du choix de quantités à commandée. non ? Je l'ai perdue, elle est où ?

    2 - Vers quel fichier et fonction dois-je regarder pour vérifier si la quantité demandé par le client est dispo dans ma nouvelle table perso ?.

    2b - Je pensais faire un truc du genre : foreach(produit_id) { verification complexe perso {  Si (panier < dispo) {panier = dispo}. Sans même coder une  popup d'erreur pour reste simple.

    Mais en plus compliqué car il peut avoir en panier  2 produits dont le stock est le même mais avec une différence d'option de produit, et autres spécificités de mes produits.
     

     

    Bonne journée
    Yann Anceze


  12. Bonjour.

    Je cherche à quel endroit se passe l'insertion d'une nouvelle ligne dans les tables peel_commandes et peel_commandes_articles.

    Je veux récupérer le commande_id de peel_commandes juste après l'insertion d'une nouvelle commande.

     

    J'avais pensé à lib/fonctions/order.php

    avec function create_or_update_order($order_infos, $articles_array)

    Mais il semble que je me trompe. Si je vide la fonction ça ne change rien.

     

    Bonne journée


  13. Bonjour

     

    La page blanche n'est pas le problème.

    C'est en général un souci simple de mauvaise syntaxe

    Le souci c'est que même le test le plus simple ne passe pas la fonction product.

     

    TEST FONCTIONNEL mais inutilisable

    /class/product.php:

      var $tototest = 'test de toto'; 
     

     

    /fonctions/display_product.php

          $tpl->assign('tototest', $product_object->tototest);

     

    /smarty/product_details.html.tpl

    <hr>test : {$tototest} 

     

     

    TEST FONCTIONNEL 2 exploitable mais pas optimal car eje vais devoir doubler les requetes sql et les codes

    /class/product.php:

      var $tototest = 'test de toto'; 
       function mmontest()
       {
       $tototest .= 'test de toto';
       return $tototest;
       }

     

    /class/product.php: après function Product(... {

    				$tpl->assign('tototest', $product_object->mmontest());  

     

    /smarty/product_details.html.tpl

       <hr>test 8: {$tototest}  

     

     

    TEST DYSFONCTIONNEL

    /class/product.php:

      var $tototest = null;  
     

     

    /class/product.php: après et dans function Product(... {

      $tototest .= 'test 2 de toto';

     

    /fonctions/display_product.php

          $tpl->assign('tototest', $product_object->tototest);

     

    /smarty/product_details.html.tpl

    <hr>test 4: {$tototest} 

     

     

    SOLUTION non optimale (c'est pas du pure peel) mais fonctionnelle :

    Dans /class/product.php
     

    function ma_desc_solo()
       {
       
       		   if (empty($lang)) {
    			   $lang = $_SESSION['session_langue'];
    		     }
        
              $id = intval($this->id);
    
              $query = query("
              SELECT description_".$lang."
              FROM peel_produits
              WHERE id =".$id);
              		
              if ($res = fetch_assoc($query)) 
              { 
              $description_seule =  $res['description_'.$lang];
              }
              return $description_seule;    

     

    dans /focntion/display_product.php

       		$tpl->assign('description_seule', $product_object->ma_desc_solo());   


    Idem en plus complexe pour les options uniques

Twitter Advisto ecommerce

Facebook PEEL Shopping