jcdhl
Utilisateur open source-
Compteur de contenus
21 -
Inscrit(e) le
-
Dernière visite
Activité de jcdhl
-
jcdhl a ajouté un message dans un sujet dans fonction.php, lors de reception de mail de commande
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
-
0
-
-
jcdhl a ajouté un message dans un sujet Comment mettre le logo dans le mail de confirmation de commande ??
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
-
0
-
-
jcdhl a ajouté un message dans un sujet dans fonction.php, lors de reception de mail de commande
Bonjour,
Je travaille actuellement dessus et dès que j'ai terminé je te le donne ici même.
Cordialement
Jcdhl
-
0
-
-
jcdhl a ajouté un message dans un sujet dans fonction.php, lors de reception de mail de commande
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
-
0
-
-
jcdhl a ajouté un message dans un sujet Création d'une page "Meilleures Ventes"
Bonjour,
Dans ton code, remplace cette ligne :
<?echo stripslashes($sortie['image1']) ?>
par celle-ci :
<img src="<?php echo $repertoire_images?>/<?php echo stripslashes($sortie['image1']) ?>" />
En effet, dans la variable image1, c'est le nom de l'image qui est stocké :) .
Cordialement
Jcdhl
-
0
-
-
jcdhl a ajouté un message dans un sujet Page de recherche
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
-
0
-
-
jcdhl a ajouté un message dans un sujet Page de recherche
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
-
0
-
-
jcdhl a ajouté un message dans un sujet Message d'erreur
C'est bien une adresse de chez Free parce qu'ils bloquent sinon ?
jcdhl
-
0
-
-
jcdhl a ajouté un message dans un sujet Message d'erreur
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
-
0
-
-
jcdhl a ajouté un message dans un sujet Page de recherche
L'avantage de cette solution, c'est qu'on peut préparer une catégorie avec un grand nombre de produits et quand on veut la mettre en ligne, on n'est pas obligé de passer sur chaque produit pour le mettre en ligne.
On a juste à mettre la catégorie en ligne et hop le tour est joué. :D
jcdhl
-
0
-
-
jcdhl a ajouté un sujet dans PEEL SHOPPING : logiciel open source de boutique en ligne
Page de rechercheBonjour,
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
- 12 réponses
- 5 752 vues
-
jcdhl a ajouté un message dans un sujet Voila ma gestion de stock
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
-
0
-
-
jcdhl a ajouté un message dans un sujet Voila ma gestion de stock
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
-
0
-
-
jcdhl a ajouté un message dans un sujet Voila ma gestion de 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
-
0
-