jcdhl

Utilisateur open source
  • Compteur de contenus

    21
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par jcdhl


  1. Bonjour,

    Merci c'est très sympa...

    à bientôt...

    Bonjour,

    Pour avoir les infos clients il faut simplement ajouté ceci dans la focntion email_commande()

    	$qid_utilisateur=mysql_query("select * from peel_utilisateurs WHERE id_utilisateur='$commande->id_utilisateur'");
    $utilisateur = mysql_fetch_object($qid_utilisateur);
    // Mail d'information envoyé à l'administrateur

    //$objet_commande="Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.\n\n";
    $objet_commande="Une commande de $utilisateur->prenom $utilisateur->nom_famille ($utilisateur->email) portant le numéro $commandeid vient d'être enregistrée sur le site $site.\n\n";
    [/codebox]

    Pour les autres infos que tu souhaites, elles sont dans la table peel_commandes :

    client_info2 -> Adresse de livaraison

    transport -> Type de transport

    paiement -> Type de paiement

    Pour le téléphone, il est dans la table peel_utilisateurs.

    Cordialement

    Jcdhl


  2. Bonjour,

    comment je trensforme ça en html ??

    je n'en ai aucune idée...

    sinon pour l'image oui je commance à savoir mettre des images...

    à bientôt...

    Bonjour,

    Il faut définir des entêtes pour ton mail de cette façon :

    // Pour envoyer un mail HTML, l'en-tête Content-type doit être défini

    $headers = 'MIME-Version: 1.0' . "\r\n";

    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    Ensuite tu n'as plus qu'à envoyer ton mail :

    // Envoi

    mail($support, $objet, $message, $headers);

    Et $message peut-être définis comme suit :

    // message

    $message = "<html>

    <head>

    <title>Commande N°$commandeid</title>

    </head>

    <body>

    <img src="dzmlzdllzdl.com/image-logo.jpg" >....

    </body>

    </html>";

    Cordialement

    Jcdhl

    P.S. : Je ne t'oublis pas Négoce, je n'ai pas encore eu le temps de me pencher sur le problème pour avoir tous les détails du client dans ce mail


  3. Bonjour,

    Merci jcdhl, ça marche !!

    j'ai une dernière question...

    comment ajouter les coordonnées de contacte du client

    nom, mail, adresse, phone, ainsi que le moyen de paiement et le type d'envoi...

    la total pour éviter de ce connecter au site !

    Merci encore...

    Bonjour,

    Je travaille actuellement dessus et dès que j'ai terminé je te le donne ici même.

    Cordialement

    Jcdhl


  4. Bonjour,

    ça n'a pas marché !!

    car j'ai déjà ce code :

       // Mail d'information envoyé à l'administrateur

    mail(
    $support,
    "Vous avez une nouvelle commande sur le site $site",
    "Bonjour,\n\nUne commande $commandeid vient d'être enregistrée sur le site $site.\n\nDate de commande : ".return_date_fr($com->o_timestamp)." \n\n$article\n\n Rendez-vous sur : $wwwroot",
    "FROM:$support");
    [/codebox]

    Par celui que je t'ai donné.

    Si oui, as-tu un message d'erreur ou qu'y a-t-il dans l'email que tu reçois ?

    Jcdhl


  5. Bonjour,

    car j'ai j'ai déjà un code qui m'envoi quelques infos mais pas tout ce que je souhaite mettre sur le mail...

    mais j'ai aussi des charlatants qui commandes avec de fausses adresses email pour s'amuser...

    alors je prefer avoir les mêmes infos que que dans l'admin...

    car quand on a un nom AAAA, prénom BBBB email aaaa@bbbb at fr

    on ce doute que c'est du vent !!

    Merci de préciser comment placer le code SVP...

    à bientôt...

    Bonjour,

    Je te donne le code que j'ai utilisé sur mon site je n'ai pas rencontré de bug.

    Il faut mette ce code dans fonctions.php dans la fonction "email_commande".

      $qid_commande = mysql_query("SELECT * FROM peel_commandes WHERE id = '$commandeid'");

    $qid_items = mysql_query("
    SELECT
    p.id
    ,p.reference
    ,oi.nom_produit
    ,oi.promotion
    ,p.prix AS curr_prix
    ,oi.prix AS purchase_prix
    ,oi.quantite
    ,oi.prix * oi.quantite AS total
    FROM peel_commandes_articles oi
    LEFT JOIN peel_produits p ON (oi.produit_id = p.id)
    WHERE commande_id = '$commandeid'
    ");

    $commande = mysql_fetch_object($qid_commande);
    // Mail d'information envoyé à l'administrateur
    $objet_commande="Une commande portant le numéro $commandeid vient d'être enregistrée sur le site $site.\n\n";
    $objet_commande.="Montant total de la commande AVEC frais de port : $com->montant €\n\n";
    $total_general=0;
    while ($prod = mysql_fetch_array($qid_items))
    {
    $objet_commande.="$prod[reference] | ";
    //$objet_commande.="$prod[id]\t";
    $objet_commande.=stripslashes($prod['nom_produit'])." | ";
    //$objet_commande.=fprix($prod['curr_prix'])."\t";
    $objet_commande.=fprix($prod['purchase_prix'])." | ";
    $objet_commande.="$prod[quantite] | ";
    $total = $prod['purchase_prix']*$prod['quantite'];
    $total_general+=$total;
    $objet_commande.=fprix($total)." €\n";
    }
    if ($commande->promo_libelle!="" || $commande->promo!="0")
    {
    $objet_commande.="\nRéduction : ";
    $objet_commande.=$commande->promo_libelle." | ";
    $objet_commande.="- ".$commande->promo." €\n\n";
    $total_general-=$commande->promo;
    }
    $objet_commande.="\nMontant total de la commande SANS frais de port : ".fprix($total_general)." €\n";

    mail(
    $support,
    "Nouvelle commande sur votre site web $site",
    $objet_commande,
    "FROM:$support");
    [/codebox]

    Cordialement

    Jcdhl


  6. par contre pour les left join, ya quand meme moins bourin à faire n'est ce pas?

    Bonsoir,

    Si tu trouves une solution moins lourde, je suis preneur ;)

    Pour ma requête, j'ai été contraint de faire 2 left join de suite parce que les infos concernants l'état de la catégorie ne sont pas directement accessibles depuis la table "peel_produits".

    Il faut donc joindre les tables "peel_produits" et "peel_produits_categorie" pour savoir dans quelle catégorie est le produit et joindre en même temps les tables "peel_produits_categorie" et "peel_categorie" pour vérifier que l'état de la catégorie est "en ligne".

    Cordialement

    Jcdhl


  7. Bonjour,

    Je suis interressé par tes modifications sur la page de recherche, si tu peux me les envoyer en MP ou en public, comme tu veux ;)

    Merci beaucoup par avance

    Cdlt

    Fabrice

    www.etroc-mode.fr

    Bonjour,

    Voici l'ancienne requete utilisée pour la recherche :

    //$resultat = mysql_query("SELECT id, reference, nom FROM peel_produits WHERE etat = '1' AND nom LIKE '%" . addslashes($_GET['motclef']) . "%' OR descriptif LIKE '%" . addslashes($_GET['motclef']) . "%' LIMIT $start,$nb");

    et il faut la remplacer par celle-ci :

    $resultat = mysql_query("SELECT peel_produits.id, peel_produits.reference, peel_produits.nom FROM peel_produits LEFT JOIN peel_produits_categories ON peel_produits.id=peel_produits_categories.produit_id

    LEFT JOIN peel_categories ON peel_categories.id=peel_produits_categories.categorie_id WHERE peel_produits.etat = 1 AND peel_categories.etat = 1 AND (peel_produits.nom LIKE '%" . addslashes($_GET['motclef']) . "%' OR peel_produits.descriptif LIKE '%" . addslashes($_GET['motclef']) . "%') LIMIT $start,$nb");

    Explications :

    La catégorie du produit n'est pas directement disponible. Il faut donc passer par l'intermédiaire de 2 jointures succéssives pour trouver l'état de la catégorie du produit.

    La requête suivante sert pour faire la pagination:

    - Ancienne requete :

    //$result=mysql_query("SELECT COUNT(*) FROM peel_produits WHERE nom LIKE '%" . addslashes($_GET['motclef']) . "%' ");

    - Nouvelle requete :

    $result = mysql_query("SELECT COUNT(*) FROM peel_produits LEFT JOIN peel_produits_categories ON peel_produits.id=peel_produits_categories.produit_id

    LEFT JOIN peel_categories ON peel_categories.id=peel_produits_categories.categorie_id WHERE peel_produits.etat = 1 AND peel_categories.etat = 1 AND (peel_produits.nom LIKE '%" . addslashes($_GET['motclef']) . "%' OR peel_produits.descriptif LIKE '%" . addslashes($_GET['motclef']) . "%')");

    N'hésite pas à aller voir sur mon site tu verras que le fonctionnement est OK.

    exemple de recherche : fais une recherche sur le terme feuille. Alors que j'ai plusieurs sous-catégories pour les feuilles de scrapbooking dans la catégorie "scrapbooking" qui ne sont pas encore en ligne, tous les produits de ces catégories sont en lignes mais ils n'apparaitront pas dans les résultats de la recherche.

    Cordialement

    Jcdhl


  8. Bonjour,

    est ce que vous pourriez me dire comment faire pour que ces message ne s'affiche pas je suis chez free,

    SMTP = smtp.free.fr

    Warning: mail(): Failed to connect to mailserver at "smtp.free.fr" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\documents and settings\gall\bureau\2\lib\fonctions\fonctions.php on line 800

    Warning: mail(): Failed to connect to mailserver at "smtp.free.fr" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\documents and settings\gall\bureau\2\lib\fonctions\fonctions.php on line 814

    Warning: mail(): Failed to connect to mailserver at "smtp.free.fr" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in c:\documents and settings\gall\bureau\2\lib\fonctions\fonctions.php on line 825

    Merci.

    Bonjour,

    Vérifie dans ton fichier php.ini que cette ligne soit bien configurée.

    Je suis également chez free et chez moi ça marche :

    [mail function]

    ; For Win32 only.

    SMTP = smtp.free.fr

    ; For Win32 only.

    sendmail_from = ton_adresse_email@free.fr


  9. Bonjour,

    J'ai été confronté à un problème sur la page de recherche.

    Quand on fait une recherche sur un terme, il liste tous les produits qui sont en état actif sans se préocuper de l'état de la catégorie dans laquelle ces produits se trouvent.

    Dans les faits, nous avons des produits qui sont en état en ligne et pour éviter qu'ils s'affichent, nous avons mis la catégorie en attente.

    Jusque là tout parait normal.

    Mais si on fait une recherche, ces produits ressortent. J'ai donc modifié le formulaire de recherche pour qu'il n'affiche que les produits en ligne dont la catégorie est également en ligne.

    Si cela vous intérresse faite le moi savoir et je vous donnerai toutes les modifications que j'ai effectué.

    Cordialement

    jcdhl


  10. merci Willy

    c'était ça mon erreur maintenant reste la page achat/modeles_caddie a modifier car on peut changer la valeur de la quantité affichée :D

    Dans la page achat/modeles/caddie.php, il faut chercher la ligne :

    <input type="text" size="3" name="quantite[]" value="<?php echo $quantite?>" />

    Et la remplacer par :

    <select name="quantite[]" class="formulaire1">

    <?php // Affiche la quantité en stock

    $i=1;

    while ($i<=$prod['stock'])

    {

    echo "<option value=\"$i\"";

    if ($i==$quantite) {echo" selected";}

    echo " >$i</option>";

    $i++;

    }

    ?>

    </select>

    De cette façon, on a une liste déroulante avec la quantité en stock.

    La condition sert à sélectionner la quantité qu'on a ajouté.

    Il ne faut pas oublier de changer la fonction "recupere_articles_caddie" dans le fichier fonction.php pour avoir le stock disponible.

    juste la requete sql :

    $requete = "SELECT id, reference, nom, promotion, prix, tva, stock FROM peel_produits WHERE id IN ($in_clause)";

    jcdhl


  11. J'ajouterais juste qu'il faut ajouter le champ "stock" à la requet SQL qui ramenne les infos sur le produit ou s'il sagit d'une requete de type "select *", ça n'est pas la peine.

    Willy

    J'ai bien rajouter le champ stock dans la requete sql qui ramenne les infos sur le produit :

    $sql = "SELECT p.id, p.reference, p.nom, p.promotion, p.descriptif, p.description, p.image1, p.prix, p.on_special, p.stock, p.typeenvoi, p.poids, pc.categorie_id FROM peel_produits p, peel_produits_categories pc WHERE p.id = pc.produit_id AND pc.categorie_id = $catid AND p.etat = 1 ORDER BY p.LIMIT $start,$nb";

    jcdhl


  12. on peut voir ou tu déclare ta variable $stock

    J'ai crée le champ stock dans la table peel_produit

    Sur la page achat/index.php je crée un champ de type 'hidden' pour mettre le stock et j'affiche le stock disponible sous forme de liste déroulante :

    J'utilise cette même liste déroulante pour le caddie et pour la fiche détail du produit.

    <input type="hidden" name="stock" value="<? echo $prod['stock']; ?>">

    <span class="impression" >

    <? if ($prod['stock']>0){

    ?>

    Quantité :

    <select name="qte" class="formulaire1">

    <?php // Affiche la quantité en stock

    $i=1;

    while ($i<=$prod['stock'])

    {

    echo "<option value=\"$i\">$i</option>";

    $i++;

    }

    ?>

    </select>

    Et ensuite, j'ai modifié la page caddie_ajout.php comme ceci :

    $_SESSION['caddie']->ajout($_REQUEST['id'], $_REQUEST['qte'], $_REQUEST['stock']);

    $_SESSION['caddie']->nettoie();

    $_SESSION['caddie']->recalc_total();

    $HTTP_REFERER = $_SERVER['HTTP_REFERER'];

    if (! empty($HTTP_REFERER)) {

    header("Location: $HTTP_REFERER");

    } else {

    header("Location: $wwwroot/index.php");

    }

    Je peux donc tester lors de l'ajout si la quantité voulue n'est pas supérieure à la quantité disponible.

    Cordialement

    jcdhl


  13. Pour moi il faut remplacer ça:

    foreach ($this->articles as $produitid => $quantite) {
    
    if ($quantite > 1) {
    
    $this->articles[$produitid] = "1";
    
    }
    
    }

    Par une recherche du stock dispo et remplacer la quantité si > stock dispo.

    Dans ce cas là, remettre la page caddie_affichage avec un message.

    Ce script (en haut) limite la quantité commandée a un par article.

    Willy

    Voila ma fonction ajout modifiée :

    function ajout(&$produitid, $quantite, $stock) {

    /* Ajoute un article au caddie et met à jour le montant total */

    if (isset($produitid)) {

    if (! isset($this->articles[$produitid])) {

    $this->articles[$produitid] = 'O';

    }

    $this->articles[$produitid] += $quantite;

    if ($this->articles[$produitid]>$stock)

    {

    $this->articles[$produitid]=$stock;

    }

    }

    }

    J'ai ajouté la variable stock qui contient la quantité en stock

    jcdhl


  14. Et si on clique plusieurs fois sur le bouton ajouter au panier a partir de la fiche produit que se passe t'il ?

    Car là aussi il doit y avoir un contrôle.

    Willy

    A chaque fois, je vérifie la quantité en stock et donc on ne peut pas ajouter plus que la quantité disponible.

    Je vérifie quand on clique sur ajouter à partir de la fiche produit, je vérifie quand on clique sur mettre à jour dans le caddie et je vérifie encore lors de la validation de la commande.

    Il me parait donc très difficile de commander plus que le stock.

    jcdhl


  15. Bonjour,

    Je suis nouveau sur le forum mais j'ai mis en place une boutique en ligne basé sur PEEL SHOPPING.

    J'ai mis pas mal les mais dans le cambouis et j'ai intégré une gestion de stock qui n'est pas encore finalisé.

    Cependant, j'ai fait en sorte que lorsqu'on affiche le caddie, au lieu d'une zone de saisie pour la quantité, j'ai mis une liste déroulante avec la quantité en stock. De cette façon il n'est pas possible de commander plus que ce qu'il y a en stock. Le stock quant à lui est diminué lors de la validation de la commande.

    Il me reste a faire l'interface de gestion du stock dans la partie Admin et aussi lors de l'annulation d'une commande remettre la quantité annulée dans le stock.

    Si je peux vous aider faites moi signe.

    jcdhl.


  16. l'intégration et le script d'insertion dans la base à partir de peel est de moi à l'origine.

    Si peux t'aider..

    As tu bien installé wanewsletter?

    Ah tu bien compris à quoi sert le script dans enregistrement.php?

    Bonsoir,

    Je viens de mettre en place le script et j'ai une erreur sur la fonction generate_key().

    Ou se trouve cette fonction ?

    Merci de votre aide

    Cordialement

    jcdhl

    Re-bonsoir,

    Ne cherchez plus j'ai trouvé cette fonction qui est dans le fichier de wanewsletter/includes/functions.php

    Tout marche nickel

    Merci.

Twitter Advisto ecommerce

Facebook PEEL Shopping