Simon développeur PEEL

Administrateur PEEL
  • Compteur de contenus

    2 913
  • Inscrit(e) le

  • Dernière visite


Messages posté(e)s par Simon développeur PEEL


  1. Bonjour,

    Le problème vient du fait qu'un seul produit est présent dans la liste, et une règle en CSS fait que le lien <a> est centré par rapport au conteneur. En revanche, l'image de fond http://www.optic-solaire.com/modeles/theme_optical/images/bg_td_rubrique.jpg est aligné à gauche.

    Il faut retouché la structure du HTML pour permettre un affichage cohérent dans ce cas de figure. C'est une intervention un peu lourde qui nécessite du temps.

    Je vous invite à vous tournez vers votre intégrateur, ou à contacter notre service commercial au 01 75 43 67 97.

    Simon.


  2. Bonjour Mika,

    Pour corriger le problème, il faut commencer par vérifier si le champ `on_top` de la table peel_produits a pour valeur 1 pour les produits sélectionné.

    Vérifier le champ `etat` qui doit être également à 1.

    Si ces deux conditions réuni et que le problème n'est pas résolu, il faudra investiguer plus en profondeur pour comprendre l'origine du problème.

    Dans ce cas, je vous invite à contacter le service commercial au 01 75 43 67 97 si vous souhaitez que nous intervenions.

    Simon.


  3. Bonjour mika,

    Le SQL est à exécuter sur la base de donnée de votre peel shopping 6.1 existante. Si vous passez par phpmyadmin, vous devez choisir votre base, cliquer sur l'onglet SQL. Coller le SQL dans le champ texte et exécuter le. Cela aura pour conséquence d'adapter le modèle de donnée de votre base pour permettre la bonne marche de la version 6.2.

    Simon.


  4. Bonjour ugop,

    Pour ajouter l'email d'avis d'expédition de commande, vous devez :

    Ajouter la variable

    	$statut_livraison_ex = vb($commande['id_statut_livraison']);
    en tête de la fonction update_stock_status_order_changed(), ligne 1187 du fichier lib/fonctions/order.php. Ensuite, à la ligne 1174 de ce même fichier, il faut ajouter
    		//On vérifie que le statut de livraison passe à expédier pour envoyer l'email d'expédition
    if($statut_livraison_ex != $id_statut_livraison && $id_statut_livraison == 3) {
    send_avis_expedition($id_commande);
    }
    [/code] La fonction avec les modifications dans son ensemble :
    [code]function update_stock_status_order_changed($id_statut_paiement, $id_statut_livraison, $id_commande)
    {
    $select = "SELECT *
    FROM peel_commandes
    WHERE id='" . intval($id_commande) . "'";
    $query = query($select) ;
    //On vérifie si la commande existe deja
    if(!empty($query)){
    $commande = fetch_assoc($query);
    $statut_paiement_ex = vb($commande['id_statut_paiement']);
    $statut_livraison_ex = vb($commande['id_statut_livraison']);
    // Mise à jour de la date de paiement si le statut est en réglé (et ne l'était pas avant)
    if ($id_statut_paiement == 3 && $statut_paiement_ex != $id_statut_paiement) {
    $sql_cond_array[] = "a_timestamp='" . date('Y-m-d H:i:s', time()) . "'";
    }
    if (!empty($id_statut_paiement)) {
    $sql_cond_array[] = "id_statut_paiement='" . intval($id_statut_paiement) . "'";
    }
    if (!empty($id_statut_livraison)) {
    $sql_cond_array[] = "id_statut_livraison='" . intval($id_statut_livraison) . "'";
    }

    query("UPDATE peel_commandes
    SET " . implode(', ', $sql_cond_array) . "
    WHERE id='" . intval($id_commande) . "'");

    //Vérifie le statut paiement avant la mise à jours de la base avec celui du formulaire. Ils doivent être différent, afin d'éviter un doublon d'incrémentation des stocks lorsque l'utilisateur choisi l'annulation de livraison.
    if (affected_rows() && !empty($id_statut_paiement) && $statut_paiement_ex != $id_statut_paiement) {
    if (intval($id_statut_paiement) == 6) {
    if (empty($id_statut_livraison)) {
    // Changement aussi du statut de livraison en annulé s'il n'était pas déjà en statut livré
    query("UPDATE peel_commandes
    SET id_statut_livraison=6
    WHERE id='" . intval($id_commande) . "' AND id_statut_livraison!=3");
    }
    // Réincrémentation des stocks en cas de commande passée en statut paiement annulé
    $product_infos_array = get_product_infos_array_in_order($id_commande, $commande['devise'], $commande['currency_rate']);
    if (!empty($product_infos_array)) {
    foreach ($product_infos_array as $this_ordered_product) {
    if (is_stock_advanced_module_active() && $this_ordered_product['etat_stock'] == 1) {
    incremente_stock($this_ordered_product['quantite'], $this_ordered_product['produit_id'], $this_ordered_product['couleur_id'], $this_ordered_product['taille_id']);
    }
    }
    }
    } elseif ($statut_paiement_ex == 6) {
    // Décrémentation des stocks en cas de commande qui était en statut paiement annulé et qui finalement ne doit pas être annulée
    $product_infos_array = get_product_infos_array_in_order($id_commande);
    if (!empty($product_infos_array)) {
    foreach ($product_infos_array as $this_ordered_product) {
    if (is_stock_advanced_module_active() && $this_ordered_product['etat_stock'] == 1) {
    decremente_stock($this_ordered_product['produit_id'], $this_ordered_product['couleur_id'], $this_ordered_product['taille_id'], $this_ordered_product['quantite'], $this_ordered_product['commande_id']);
    }
    }
    }
    }
    }
    //On vérifie que le statut de livraison passe à expédié pour envoyer l'email d'expédition
    if($statut_livraison_ex != $id_statut_livraison && $id_statut_livraison == 3) {
    send_avis_expedition($id_commande);
    }
    }
    }

    Simon.


  5. Bonjour Carcy,

    je vous rassure, vous n'êtes pas aveugle :) !

    Lors de la création de la 6.2, nous avons fusionné les deux pages qui gérait les commandes sur PEEL : commandes.php et commander.php.

    Mais lors de cette fusion, la possibilité de renseigner un numéro de tracking dans le détails d'une commande a été supprimé. Cette erreur sera bien évidemment corrigée dans la futur version.

    Ci dessous la correction.

    Ligne 372 du fichier lib/fonctions/order.php, remplacer le commentaire suivant :


    // Delivery_tracking n'est pas géré ici, car uniquement modifié via l'administration dans une fonction séparée
    [/code] par
    [code]
    if(defined('IN_PEEL_ADMIN')){
    $set_sql .= "
    , delivery_tracking = '" . nohtml_real_escape_string($order_infos['delivery_tracking']) . "'";
    }
    Et juste en dessous du code suivant (à la ligne 166 du fichier amdinistrer/commande_details.php)
    		<tr>
    <td>Numéro de la facture' . BEFORE_TWO_POINTS . ':</td>
    <td><input type="text" style="width:100%" name="numero" value="' . String::str_form_value($numero) . '" /><br />Les valeurs de type [colonne] dans le numéro de facture seront remplies après la création de cette commande.</td>
    </tr>
    [/code] il faut ajouter le champ :
    [code]
    <tr>
    <td class="form_commande_detail">Numéro de tracking du colis' . BEFORE_TWO_POINTS . ':</td>
    <td class="form_commande_detail">
    <input id="delivery_tracking" name="delivery_tracking" style="width:100%" value="' . trim(vb($commande['delivery_tracking'])) . '" />
    ' . (is_icirelais_module_active()?'<div id="tracking_url"></div><br /><a href="javascript:setTracking(\'' . MODULE_SHIPPING_ICIRELAIS_TRACKING_URL . '\',\'' . TEXT_COMMENT_TRACKING . '\',\'' . TEXT_ERROR_TRACKING . '\')">' . TEXT_CREATE_TRACKING . '</a>':'') . '
    </td>
    </tr>

    Simon.


  6. Bonjour Morpheus,

    Pour corriger ce problème, vous devez ajouter value="1" dans les balises HTML de cette manière :

    			<input type="checkbox" value="1" id="commercial" name="commercial" ' . frmvalide(!isset($frm['commercial']) || $frm['commercial']) . ' />
    et
    			<input type="checkbox" value="1" id="newsletter" name="newsletter" ' . frmvalide(!isset($frm['newsletter']) || !empty($frm['newsletter'])) . ' />

    C'est de cette façon que nous avons corrigé le problème sur la 6.2.

    Simon.


  7. Bonjour,

    Vous pouvez modifier la fonction print_societe(), déclaré dans le fichier lib/fonctions/display.php :

    	function print_societe($return_mode = false)
    {
    $output = '';
    $qid = query('SELECT * FROM peel_societe');
    if ($ligne = fetch_object($qid)) {
    $output .= '<br />';
    if (!empty($ligne->societe)) {
    $output .= '<br /><b>' . String::html_entity_decode_if_needed($ligne->societe) . '</b>&nbsp;';
    }
    if (!empty($ligne->adresse)) {
    $output .= '<br />' . String::html_entity_decode_if_needed($ligne->adresse) . '&nbsp;';
    }
    if (!empty($ligne->code_postal)) {
    $output .= '<br />' . $ligne->code_postal . '&nbsp;';
    }
    if (!empty($ligne->ville)) {
    $output .= '&nbsp;' . String::html_entity_decode_if_needed($ligne->ville) . '&nbsp;';
    }
    if (!empty($ligne->pays)) {
    $output .= '<br />' . String::html_entity_decode_if_needed($ligne->pays) . '&nbsp;';
    }
    if (!empty($ligne->tel)) {
    $output .= '<br />' . SHORT_TEL . BEFORE_TWO_POINTS . ': ' . $ligne->tel;
    }
    if (!empty($ligne->fax)) {
    $output .= '<br />' . SHORT_FAX . BEFORE_TWO_POINTS . ': ' . $ligne->fax;
    }
    if (!empty($ligne->siren)) {
    $output .= '<br />' . SIREN . BEFORE_TWO_POINTS . ': ' . $ligne->siren;
    }
    if (!empty($ligne->tvaintra)) {
    $output .= '<br />' . TVA_INTRACOM . BEFORE_TWO_POINTS . ': ' . $ligne->tvaintra;
    }
    if (!empty($ligne->cnil)) {
    $output .= '<br />' . CNIL_NUMBER . BEFORE_TWO_POINTS . ': ' . $ligne->cnil;
    }
    $output .= '<br />';
    }
    if ($return_mode) {
    return $output;
    } else {
    echo $output;
    }
    }[/code] Supprimer l'élément
    [code] if (!empty($ligne->siren)) {
    $output .= '<br />' . SIREN . BEFORE_TWO_POINTS . ': ' . $ligne->siren;
    }
    pour ne pas afficher le numéro SIREN et
    			if (!empty($ligne->tvaintra)) {
    $output .= '<br />' . TVA_INTRACOM . BEFORE_TWO_POINTS . ': ' . $ligne->tvaintra;
    }[/code]

    pour le numéro de TVA intracom.

    Simon.


  8. Bonjour ugop,

    L'envoi d'email pour une commande se fait sur la page fin_commande.php pour les paiements par chèque ou par virement.

    À la ligne 49, il y a

    switch ($com->paiement) {
    // In $com->payment_technical_code is stored the "technical_code" found in peel_paiement
    case 'check':
    case 'transfer':
    // On avertit l'utilisateur et l'administrateur uniquement pour les modes de paiement non instantanés
    send_mail_order_admin($commandeid);
    email_commande($commandeid);

    /* Le caddie est réinitialisé pour ne pas laisser le client passer une deuxième commande en soumettant une deuxième fois le formulaire */
    $_SESSION['session_caddie']->init();
    unset($_SESSION['session_commande']);
    break;

    default :
    break;
    }[/code]

    Ce code permet l'envoi d'email lors de la fin d'une commande et il est indépendant du statut de cette commande.

    Simon.


  9. Bonjour,

    Vous avez effectivement ciblé la bonne fonctions pour filtrer les moyens de paiement affichés en front office.

    Pour récupérer les informations qui vous manque, vous devez-vous servir des informations stocker en session.

    - La session utilisateur pour l'id de l'utilisateur qui passe commande ($_SESSION['session_utilisateur']['id_utilisateur']).

    - La session caddie pour récupérer l'id de la zone sélectionnée par l'utilisateur dans le formulaire précédent ($_SESSION['session_caddie']->zoneId)

    Simon.


  10. Bonjour,

    les pages concernées par l'affichage du produit en front-office sont principalement achat/produit_details.php et lib/fonctions/display_product.php.

    Ce problème n'est pas présent dans la 6.2. Vous pouvez télécharger le code source de la 6.2 d'origine sur peel.fr, et comparer les fichiers de votre site avec ceux de la 6.2 sans modification pour pouvoir comprendre quelle modification est à l'origine du problème.

    Simon.


  11. Bonjour,

    si la modification de la requête de la fonction recupere_sous_categorie de

    function recupere_sous_categorie($catid = 0)
    {
    $qid = query('SELECT id, nom_' . $_SESSION['langue'] . ', description_' . $_SESSION['langue'] . ', parent_id, image
    FROM forksparts_categories
    WHERE parent_id="' . intval($catid) . '" AND id>"0" AND etat="1"
    ORDER BY position' ) ;
    return $qid;
    }
    [/code] en
    [code]function recupere_sous_categorie($catid = 0)
    {
    $qid = query('SELECT id, nom_' . $_SESSION['langue'] . ', description_' . $_SESSION['langue'] . ', parent_id, image
    FROM forksparts_categories
    WHERE parent_id="' . intval($catid) . '" AND id>"0" AND etat="1"
    ORDER BY nom_' . $_SESSION['langue'] .')' ;
    return $qid;
    }

    ne fonctionne pas, trouver l'origine du problème va nécessiter une investigation plus en profondeur du code et du fonctionnement de votre site.

    Je vous invite à contacter le service commercial au 01 75 43 67 97 pour permettre une intervention de notre service technique.

    Merci.


  12. Bonjour,

    la réponse a été postée dans le sujet

    Je recopie la réponse faite ci-dessous :

    Bonjour,

    L'erreur est que la variable utilisée pour afficher l'information n'est pas la bonne.

    Dans commande_details.php, à la ligne 332, il faut remplacer le code suivant

    <td class="form_commande_detail">' . $commande->transport . '</td>

    par

    <td class="form_commande_detail">

    <select name="type_transport">

    ' . get_delivery_type_options(vb($commande->type)) . '

    </select>

    </td>

    Ce problème n'existe plus sur la 6.2.

    Simon.


  13. Bonjour,

    Pour ordonner les catégories par nom, vous devez modifier

    $sqlcat .= " FROM peel_categories
    WHERE id = '" . intval($catid) . "' AND nom_" . $_SESSION['langue'] . " != ''
    ORDER BY position"; [/code] par
    [code]$sqlcat .= " FROM peel_categories
    WHERE id = '" . intval($catid) . "' AND nom_" . $_SESSION['langue'] . " != ''
    ORDER BY nom_" . $_SESSION['langue'];

    Simon.


  14. Bonjour,

    L'erreur est que la variable utilisée pour afficher l'information n'est pas la bonne.

    Dans commande_details.php, à la ligne 332, il faut remplacer le code suivant

    <td class="form_commande_detail">' . $commande->transport . '</td>
    par

    <td class="form_commande_detail">
    <select name="type_transport">
    ' . get_delivery_type_options(vb($commande->type)) . '
    </select>
    </td>[/code]

    Ce problème n'existe plus sur la 6.2.

    Simon.


  15. Bonjour,

    Pour modifier le contenu de ces emails, vous devez compléter le tableau $custom_template_tags avec les valeurs voulu avant l'utilisation de la fonction send_email.

    Il faut ensuite ajouter le tag à remplacer dans le template d'email.

    Le tag ainsi créé sera automatiquement remplacer par la valeur correspondante avant l'envoi.

    Pour l'envoi d'email, le problème peux venir de différentes sources : le serveur ou le code.

    Si vous ne recevez pas d'autres emails de la boutique, je vous invite à contacter votre hébergeur.

    Sinon, merci de me décrire plus en détails le contexte du problème.

    Simon.


  16. Bonjour,

    Sur la 6.2, il est possible de proposer un champ texte éditable pour un produit. Dans le back-office, il faut créer un nouvel attribut et cocher la case Activer cette option supprimera toutes les options associées à l'attribut.

    Il faut ensuite associer l'attribut avec un produit.

    L'upload d'image depuis une page produit en front-office est prévu dans les futurs versions de PEEL.

    Simon.

Twitter Advisto ecommerce

Facebook PEEL Shopping