Flux d’activité

Flux d’activité de Messages

  1. thomas35


    Bonjour,

    Suite à des recherches concernant un problème avec le moteur d'importation, voici une petite contribution qui je l'espère pourra vous aider.

    Tout d'abord, problème au niveau du fichier .CSV crée avec les nouvelles versions de EXCEL. Il faut donc autoriser l'extension dans le fichier :

    configuration.inc.php

    Ligne 119; remplacer le code par

    $registered_types = array(

    "image/gif" => ".gif",

    "image/pjpeg" => ".jpg, .jpeg",

    "image/jpeg" => ".jpg, .jpeg",

    "image/x-png" => ".png",

    "image/png" => ".png",

    "text/plain" => ".html, .php, .txt, .inc, .csv",

    "text/comma-separated-values" => ".csv",

    "application/comma-separated-values" => ".csv",

    "application/vnd.ms-excel" => ".csv"

    );

    $allowed_types = array("image/gif", "image/pjpeg", "image/jpeg", "image/x-png", "image/png","text/comma-separated-values","text/plain","application/comma-separated-values", "application/vnd.ms-excel");

    Ce problème avait déjà été résolu sur le Forum!!

    Ensuite ci-dessous le code complet de ma page : administrer/import_produits.php

    <?php

    include("../configuration.inc.php");

    necessite_identification();

    necessite_priv("admin");

    $DOC_TITLE = "Module d'importation";

    include("modeles/haut.php");

    switch (vb($_POST['action'])) {

    /* LECTURE ET AJOUT DES DONNEES DANS LA TABLE */

    case "ajouter":

    $repertoire_upload = "$dirroot/upload/";

    /* Importation du fichier */

    echo "Type de fichier import&eacute; : ".$_FILES['fichier']['type']."<br />";

    if (!empty($_FILES['fichier']['name'])) {

    $fichier = upload($_FILES['fichier']);

    } else {

    $fichier = $_POST['fichier'];

    }

    echo "Emplacement du fichier : ".$repertoire_upload.$fichier."<br />";

    echo "<table border=0 cellspacing=1 cellpadding=0 width=100%>";

    echo "<tr><td class=\"menu\" >Statut de l'importation</td></tr>";

    echo "</table>";

    /* On ouvre le fichier en lecture seulement */

    if ($fichier != "") {

    if (file_exists($repertoire_upload.$fichier)) {

    $fp = fopen($repertoire_upload.$fichier, "r");

    }else{ /* le fichier n'existe pas */

    echo "<div class=normal>Fichier introuvable !<br />Importation stopp&eacute;e.</div>";

    exit();

    }

    /* Effacement des produits */

    mysql_query("DELETE FROM ".$_POST['nomtable']." WHERE lang = '".$_SESSION['langue']."'");

    /* Passe l'autoincr&eacute;ment &agrave; 1 */

    mysql_query("ALTER TABLE ".$_POST['nomtable']." AUTO_INCREMENT = 1");

    /* Effacement des jointures */

    mysql_query("DELETE FROM peel_produits_categories WHERE lang = '".$_SESSION['langue']."'");

    $nbprod=0;

    while (!feof($fp)) { /* Tant qu'on atteind pas fin de fichier */

    $ligne = fgets($fp,4096); /* On se d&eacute;place d'une ligne */

    //echo "<hr><font class=normal>>Ligne Excel : $ligne </font>";

    $liste = explode( ";",trim($ligne)); /* Champs s&eacute;par&eacute;s par ; */

    /* On assigne les variables */

    if ($liste) {

    $i=0;

    $liste[$i]=str_replace('<', '<',$liste[$i]);

    $liste[$i]=str_replace('>', '>',$liste[$i]);

    $liste[$i]=str_replace('"', '"',$liste[$i]);

    $liste[$i]=str_replace('"', '',$liste[$i]);

    $liste[$i]=str_replace("'", "\'",$liste[$i]);

    // Identifiant de la catégorie de niveau 1

    $cat_id = vb($liste[$i]);

    $reference = addslashes(vb($liste[$i+1]));

    $nom = addslashes(vb($liste[$i+2]));

    $prix = str_replace(",",".",vb($liste[$i+3]));

    $prix = str_replace(",",".",$prix);

    $tva = str_replace(",",".",vb($liste[$i+4]));

    $promotion = str_replace(",",".",vb($liste[$i+5]));

    $poids = str_replace(",",".",vb($liste[$i+6]));

    $point = str_replace(",",".",vb($liste[$i+7]));

    $image1 = addslashes(vb($liste[$i+8]));

    $image2 = addslashes(vb($liste[$i+9]));

    $marque = addslashes(vb($liste[$i+10]));

    $reference_fournisseur = addslashes(vb($liste[$i+11]));

    $descriptif = addslashes(vb($liste[$i+12]));

    $description = addslashes(vb($liste[$i+13]));

    $etat = intval(vb($liste[$i+14]));

    echo "valeur de nom : $nom<br />";

    if (!empty($nom)) {

    $requete = "INSERT INTO ".$_POST['nomtable']." (

    reference

    , nom_".$_SESSION['langue']."

    , prix

    , tva

    , promotion

    , poids

    , points

    , image1

    , image2

    , marque

    , reference_fournisseur

    , descriptif_".$_SESSION['langue']."

    , description_".$_SESSION['langue']."

    , etat

    , date_insere

    , date_maj

    )

    VALUES (

    '".$reference."'

    , '".$nom."'

    , '".$prix."'

    , '".$tva."'

    , '".$promotion."'

    , '".$poids."'

    , '".$point."'

    , '".$image1."'

    , '".$image2."'

    , '".$marque."'

    , '".$reference_fournisseur."'

    , '".$descriptif."'

    , '".$description."'

    , '".$etat."'

    , now()

    , now()

    )";

    mysql_query($requete) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<br />' . MYSQL_ERROR()."<br />Valeur de la requete : $requete");

    $produit_id = mysql_insert_id();

    $nbprod = $nbprod + 1;

    if (!empty($cat_id)) {

    $sqlCat = "INSERT INTO peel_produits_categories (produit_id, categorie_id) VALUES ('$produit_id', '$cat_id')";

    mysql_query($sqlCat) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<br />$sqlCat : ' . MYSQL_ERROR());

    }

    $marque_id = $marque;

    if (!empty($marque)) {

    $sqlCat = "INSERT INTO peel_produits_marques (marque_id, produit_id) VALUES ('$marque_id', '$produit_id')";

    mysql_query($sqlCat) or DIE('Une erreur de connexion &agrave; la base s est produite ' . __LINE__ . '.<br />$sqlCat : ' . MYSQL_ERROR());

    }

    if (mysql_error()){ /* Erreur base de donnees, surement la table qu'il faut creer */

    echo $requete;

    echo "<br />Erreur dans la base de donn&eacute;es : ".mysql_error();

    echo "<br />Importation des produits stopp&eacute;e.";

    exit();

    }

    }

    }

    }

    echo "<br /><div class=\"normal\">Nombre de produits import&eacute;s avec succ&egrave;s : $nbprod.</div>";

    fclose($fp);

    }

    break;

    /* FORMULAIRE DE CHOIX D'IMPORTATION */

    default:

    ?>

    <table border="0" cellspacing="1" cellpadding="0" width="760">

    <tr ><td class="entete" colspan="3">IMPORTER UN FICHIER</td></tr>

    <tr><td colspan="3" class="normal">

    <p><b>Format imp&eacute;ratif du fichier </b>: CSV

    <br />

    <br />

    S&eacute;parateur : <font size="4"><b>;</b></font> point virgule<br />

    Fichier exemple : <a href="exemple_prod.csv">exemple_prod.csv</a><br />

    <br />

    <font size="+1"><b>Ordre imp&eacute;ratif des colonnes du fichier CSV</b></font> :<br />

    - R&eacute;f&eacute;rence cat&eacute;gorie (mettre 0 si elle n'existe pas)<br />

    - R&eacute;f&eacute;rence Article<br />

    - Nom Produit FR<br />

    - Prix Vente TTC<br />

    - TVA<br />

    - Promotion<br />

    - poids<br />

    - Points cadeaux<br />

    - R&eacute;f&eacute;rence Marque <br />

    - R&eacute;f&eacute;rence Fournisseur<br />

    - Image vignette<br />

    - Image zoom<br />

    - Descriptif du produit FR<br />

    - Description du produit FR<br />

    - Etat (1 = en ligne, O = en attente)<br />

    <br />

    <b>Attention :</b><br />

    - La premi&egrave;re ligne ne doit pas contenir les ent&ecirc;tes des colonnes<br />

    - Il ne doit pas y avoir de formule dans le fichier CSV<br />

    - Les virgules des chiffres doivent &ecirc;tre symbolis&eacute;es par des "."<br />

    - Le point virgule indique imp&eacute;rativement un changement de colonne<br />

    - Le fichier doit &ecirc;tre ferm&eacute; dans EXCEL pour pouvoir l'uploader<br />

    - Les photos doivent se trouver dans le répertoire <?php echo $repertoire_upload ?><br />

    </p>

    <p>

    <b>Avant d'importer un fichier,<br />

    1. Assurez vous que le fichier ne comporte pas de lignes blanches.<br />

    2. Assurez vous que vous avez pr&eacute;alablement import&eacute; ou cr&eacute; les familles de produit</b>

    </p>

    </td></tr>

    <form method="post" action="<?=$_SERVER['PHP_SELF']?>" name="categories" enctype="multipart/form-data">

    <input type="hidden" name="action" value="ajouter">

    <input type="hidden" name="nomtable" value="peel_produits">

    <tr>

    <td class="label">Importation du fichier de donn&eacute;es :</td>

    <td align="left"> <input class="formulaire1" type="file" name="fichier"> </td>

    <td align="center"> <input class="formulaire1" type="submit" name="submit" value="Importer"> </td>

    </tr>

    </table>

    <input type="hidden" name="action" value="ajouter">

    </form>

    <?

    break;

    }

    include("modeles/bas.php");

    ?>

    J'ai effectué quelques changements :

    - On ajoute directement le prix TTC.

    - Les champs "reference fournisseur" + "designation produit" ont été ajoutés au fichier CSV

    - Seul l'ID de la marque est à ajouter

    Pensez à sauvegarder votre page avant d'effectuer les modifications !!

  2. tgboy


    Bonjour,

    les stats de ventes de manière graphique ne vous interesse pas plus que ça pourtant c'est tres pratique.

    Pouvez vous préciser ce que vous attendez en ajax et ou java ?

    Je pense que ça pourra aider des futurs developpements.

    Willy

    Salut willy!

    dis donc ça faisait longtemps que tu n'étais pas là :mellow:

    Pour répondre à tes questions, les stats de vente en graphique c'est vrai peut être très pratique.

    En ce qui concerne l'ajax et le java, je pense qu'il faudrait s'inspirer sur un logiciel ecommerce qui va faire un malheur dans quelques années! Il s'agit de magento!

    Ces 2 fonctions combinées avec du flash pourrait faire des jolies rendus! Je ne sais pas si c'est techniquement faisable mais je sais que patrice recherchait une personne avec des acquis pour le web 2.0. Peut-être qu'il nous prépare quelque chose le petit cachotier :P

  3. pruault


    Je crois que c'est le fonctionnement normal.

    Pour votre cas,il est possible de creer un groupe avec une réduction de dix pour cent et d'y ajouter votre client.

    Cordialement,

    Eric

    Dans lib.fonctions.fonctions.php => fonctions cree_commande il y a une ligne

    $_SESSION['utilisateur']['remise_percent'] = 0 qui annule la remise client après utilisation

    Il suffit de la supprimer

  4. sibile


    Bonsoir

    Après 3 tentatives je ne parviens pas à installer Peel shopping sur l' hébergement gratuit 123.fr, pourtant j' ai suivi les instructions et les bases de données sont

    bien crées. La phase d' installation reste bloquée sur la page install.php.

    Je voudrais savoir si des utilisateurs ont déjà rencontré ce type de problème avec 123.fr, ou un autre hébergeur.

    Merci de votre aide.

    Bonne soirée

  5. startweb


    Bonjour,

    J’ai un problème sur mon site internet concernant la remise client en %

    Je m'explique :

    Quand j’inscris à un de mes clients une remise ex : 10.00 % l'enregistrement se fait bien.

    Le client quand il va sur son compte la remise est indiquée.

    Le problème vient que quand le client valide une commande. Il bénéficie de la remise

    :mellow: Mais a ce moment la, la remise se supprime du compte et donc de la base de donnée

    Je ne comprends pas, où chercher ?

  6. Pilou


    Bonjour, votre souci peut avoir diverses causes.

    un mauvais chmod par exemple sur le repertoire concerné etc.

    Si vous enavez la possibilité confiez moi, parMP, un accès ftp et je ferais les vérifications nécessaires mais là sur le forum comme ça il est pas évident de donner une réponse à ce type de problèmes.

    Cordialement,

    Eric

    C'est sympa éric, je te transmet par MP mes infos FTP...

    Pas évident de tous connaitre quand ont réalise sa boutique... dur dur d'être (petit) patron :mellow:

    J'édite ce message pour t'annoncé éric que je t'ai envoyé les infos de connexion ftp !!!

    Merci de répondre par MP, a bientôt

  7. Pilou


    Bjr à tous les lecteurs de passage...

    Comme personne ne semble décidé à m'aidé, je me permet de reposer la question d'una manière différente.

    Quelqu'un connait il les différentes manières pour bloquer un accès par htaccess ???

    Mr Pruault ou ses associés n'ayant pas dédaigné me répondre suite à mon MP, mais bon d'après ce que j'ai compris faut payer maintenant même sur ce forum pour avoir de l'aide. A croire qu'il faut mieux utiliser OScommerce !!!

    Un utilisateur de Peel désabusé :mellow:

Twitter Advisto ecommerce

Facebook PEEL Shopping