![](https://forum.peel.fr/uploads/set_resources_1/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
jcdhl
Utilisateur open source-
Compteur de contenus
21 -
Inscrit(e) le
-
Dernière visite
Tout ce qui a été posté par 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 730 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
-
-
jcdhl a ajouté un message dans un sujet Voila ma gestion de stock
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
-
0
-
-
jcdhl a ajouté un message dans un sujet Voila ma gestion de stock
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
-
0
-
-
jcdhl a ajouté un message dans un sujet Voila ma gestion de stock
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.
-
0
-
-
jcdhl a ajouté un message dans un sujet Newsletter dans Peel shopping
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.
-
0
-