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,

    Pour faire ce que vous décrivez, vous devez modifier les lignes suivantes (pour votre version PEEL PREMIUM 6.2) :

    Dans le fichier modules\premium\modules\stock_advanced\fonctions.php, Il faut se servir de la variable $stock_restant_apres_demande. Si cette variable est égal à 0, vous désactivez le produit :

        if(empty($stock_restant_apres_demande)) {
    query("UPDATE peel_produits
    SET etat = 0
    WHERE id = '" . intval($product_id) . "'");
    } [/CODE] Vous pouvez mettre ce morceaux de code en fin de fonction, avant
    [CODE]
    return $stock_to_order;


  2. Bonjour agrimoto,

    Il manque un guillemets simple sur le deuxième LIKE. Ci-dessous la requête corrigée :


    $where .= " AND p.reference = '" . nohtml_real_escape_string($frm['reference_search']) . "' OR p.nom_fr LIKE '%" . nohtml_real_escape_string($frm['reference_search']) . "%'";
    [/CODE]


  3. Bonjour,

    avez-vous fait ceci :

    Récupérez le code technique indiqué dans l'administration de vos modèles d'emails, puis faites une recherche dans le code PHP de ce code technique. Vous trouverez ainsi l'appel au modèle, et verrez quels tags sont remplis et de quelle manière. Vous pouvez éventuellement en créer de nouveaux très simplement en vous inspirant des autres lignes de création de tag.

    ?

  4. Bonjour,

    vous devez modifier le fichier administrer/produits.php, de la ligne 1624 à 1626


    if (isset($frm['reference_search']) && !empty($frm['reference_search'])) {
    $where .= " AND p.reference = '" . nohtml_real_escape_string($frm['reference_search']) . "'";
    }
    [/CODE] cela donne :
    [CODE]
    if (isset($frm['reference_search']) && !empty($frm['reference_search'])) {
    $where .= " AND p.reference = '" . nohtml_real_escape_string($frm['reference_search']) . "' OR p.nom_fr = '" . nohtml_real_escape_string($frm['reference_search']) . "'";
    }
    Vous pouvez également modifier la ligne 1589

    <td class="normal" valign="top" colspan="2" style="padding-top:10px">R&#233;f&#233;rence du produit : <input type="text" name="reference_search" size="15" value="" /></td>
    [/code] pour mettre à jour l'affichage
    [CODE]
    <td class="normal" valign="top" colspan="2" style="padding-top:10px">R&#233;f&#233;rence ou nom du produit : <input type="text" name="reference_search" size="15" value="" /></td>


  5. Bonjour,

    Ce problème arrive lorsque que le montant du caddie dépasse 100€, cela est dû à un arrondi manquant.

    Pour corriger ce problème, éditer le fichier modules/paybox/fonctions.php en remplaçant la ligne 526 comme ceci :


    <input type="hidden" name="PBX_TOTAL" value="' . String::str_form_value(round($amount,2)*100) . '" />
    [/CODE] Le formulaire en entier donne :
    [CODE]
    <form action="' . $paybox_cgi . '" name="TheForm" method="POST">
    <input type="hidden" name="PBX_MODE" value="1" />
    <input type="hidden" name="PBX_LANGUE" value="' . String::str_form_value(getPayboxCodeLangFromPeelLang($lang)) . '" />
    <input type="hidden" name="PBX_SITE" value="' . String::str_form_value($paybox_site) . '" />
    <input type="hidden" name="PBX_RANG" value="' . String::str_form_value($paybox_rang) . '" />
    <input type="hidden" name="PBX_TOTAL" value="' . String::str_form_value(round($amount,2)*100) . '" />
    <input type="hidden" name="PBX_DEVISE" value="' . String::str_form_value(get_currency_international_numerical_code($currency_code)) . '" />
    <input type="hidden" name="PBX_CMD" value="' . String::str_form_value($order_id) . '" />
    <input type="hidden" name="PBX_PORTEUR" value="' . String::str_form_value($user_email) . '" />
    <input type="hidden" name="PBX_RETOUR" value="montant:M;ref:R;auto:A;trans:T;sign:K" />
    <input type="hidden" name="PBX_IDENTIFIANT" value="' . String::str_form_value($paybox_identifiant) . '" />
    <input type="hidden" name="PBX_EFFECTUE" value="' . String::str_form_value($GLOBALS['wwwroot'] . '/modules/paybox/retour.php').'" />
    <input type="hidden" name="PBX_REFUSE" value="' . String::str_form_value($GLOBALS['wwwroot'] . '/modules/paybox/retour.php').'" />
    <input type="hidden" name="PBX_ANNULE" value="' . String::str_form_value($GLOBALS['wwwroot'] . '/modules/paybox/annule.php').'" />
    <input type="hidden" name="PBX_REPONDRE_A" value="' . String::str_form_value($GLOBALS['wwwroot'] . '/modules/paybox/ipn.php').'" />
    '.(PBX_PAYBOX!=''?'<input type="hidden" name="PBX_PAYBOX" value="' . String::str_form_value(PBX_PAYBOX).'" />':'').'
    '.(PBX_BACKUP1!=''?'<input type="hidden" name="PBX_BACKUP1" value="' . String::str_form_value(PBX_BACKUP1).'" />':'').'
    '.(PBX_BACKUP2!=''?'<input type="hidden" name="PBX_BACKUP2" value="' . String::str_form_value(PBX_BACKUP2).'" />':'').'
    <input type="submit" value="' . String::str_form_value(CREDITCARD_SUBMIT_BUTTON) . '" class="bouton" />
    </form>


  6. Bonjour,

    Cette méthode répond au problème que vous avez posé :

    y a t'il une autre solution pour changer la couleur générale du texte sans que sa n'affecte les fiches articles

    Vous pourrez toujours utiliser FCKeditor pour modifier la couleur de quelque ligne afin de les mettres en valeurs, mais l'ensemble du texte sera de la couleur spécifié par la classe

    div.texte_article


  7. Bonjour,

    Ajouter le champ référence dans la page produit_achetes.php se décompose en trois étapes.

    - Dans la requête SQL du début de la fonction _sql_de_base, ajouter le champ `reference` dans la liste des champs comme ceci :



    SELECT produit_id,

    commande_id,

    nom_produit,

    couleur,

    reference,

    taille,

    sum( quantite ) AS quantite_totale,

    sum( total_prix ) AS montant_total,

    peel_produits.*

    FROM `peel_commandes_articles`

    LEFT JOIN peel_produits ON produit_id = peel_produits.id

    LEFT JOIN peel_commandes ON commande_id = peel_commandes.id

    WHERE peel_commandes.id_statut_paiement IN ('3')

    AND peel_commandes_articles.quantite > '0'

    AND peel_commandes.id_ecom = '" . intval($GLOBALS['site_parameters']['id']) . "'

    AND $condition

    GROUP BY produit_id, couleur

    ORDER BY quantite_totale DESC";

    [/CODE] - Ensuite, ajouter la colonne Référence dans le tableau affiche_liste_produits() :
    [CODE]

    echo '

    <table border="0" class="tablespace" width="100%">

    <tr>

    <td class="entete">Produits les plus achet&#233;s</td>

    </tr>

    <tr>

    <td class="normal">

    <table border="0" class="tablespace" cellspacing="2" cellpadding="2" width="100%">

    <tr>

    <th class="menu">R&#233;f&#233;rence</th>

    <th class="menu">Produit</th>

    <th class="menu">Qt&#233;.</th>

    <th class="menu">Montant</th>

    </tr>

    ';

    - Enfin, ajouter la variable correspondante quelque ligne plus bas.


    echo '

    <td class="normal">' . $produit->reference. '</td>

    <td class="normal">' . $produit->lien . '</td>

    <td align="right" class="normal">' . $produit->quantite_totale . '</td>

    <td align="right" class="normal">' . fprix($produit->montant_total, true, $GLOBALS['site_parameters']['code'], false) . '</td>

    </tr>

    ';

    [/code]


  8. Bonjour,

    Votre version ancienne a une structure de données et une organisation du code complètement différente d'une version 6. Entre les versions 5 et 6 les changements ont été très importants ce qui explique que la charge de travail nécessaire pour adapter une version 5.7 et 6.2 soit importante. Vous avez aussi personnalisé votre boutique, ce qui complique le travail de migration.

    Nous pouvons s'il vous souhaitez vous accompagner dans ce travail qui nécessite des compétences pointues. Je vous invite pour cela à vous tourner vers notre service commercial au 01 75 43 67 97.


  9. Bonjour,

    votre problème vient du fait que les couleurs du texte ont été spécifié avec l'éditeur HTML (FCKeditor). Le code source de votre description donne :


    <div class="texte_article"><p><span style="color: rgb(128, 128, 128);"><span style="font-size: x-large;"><b>grossiste vetement</b></span></span><b><br>
    </b></p>
    <p><span style="color: rgb(192, 192, 192);">Tissu haute qualit&#233;<font class="Apple-style-span" size="3"><b><br>
    </b></font>Tr&#232;s doux au touch&#233;<font class="Apple-style-span" size="3"><b><br>
    </b></font></span></p>
    <p><span style="color: rgb(192, 192, 192);">Import hors CEE<br>
    </span></p>
    <p><span style="color: rgb(192, 192, 192);">Collection v&#234;tement hiver 2012</span></p>
    <div><span style="color: rgb(255, 0, 0);"><span style="font-size: medium;"><span style="font-weight: bold;">ROBE-TUNIQUE COL CHEMISE</span></span></span></div>
    <div><span style="color: rgb(255, 0, 0);"><span style="font-size: medium;"><span style="font-weight: bold;">4 BOUTONS</span></span></span></div>
    <div><span style="color: rgb(255, 0, 0);"><span style="font-size: medium;"><span style="font-weight: bold;">CEINTURE COULEUR ASSORTIE</span></span></span><span class="Apple-style-span" style="font-size: 19px;"><b><br>
    </b></span></div>
    <div><span style="color: rgb(192, 192, 192);"><br>
    </span></div>
    <div><span style="color: rgb(192, 192, 192);">Taille S/M - L/XL<br>
    </span></div>
    <div><span style="color: rgb(192, 192, 192);"><br>
    </span></div>
    <div><span style="color: rgb(192, 192, 192);">Composition :</span></div>
    <div><span style="color: rgb(192, 192, 192);"> </span></div>
    <div><span style="color: rgb(192, 192, 192);"><span style="font-size: small;">10% CACHEMIRE</span></span></div>
    <div><span style="color: rgb(192, 192, 192);"><span style="font-size: small;">50% LAINE</span></span></div>
    <div><span style="color: rgb(192, 192, 192);"><span style="font-size: small;">30% ACRYLIQUE</span></span></div>
    <div><span style="color: rgb(192, 192, 192);"><span style="font-size: small;">10% ELASTANE</span></span></div>
    <div><span style="color: rgb(128, 128, 128);"><span style="font-size: x-large;"><span style="font-weight: bold;">grossiste en ligne</span></span></span></div>
    <p> </p></div>
    [/CODE]

    Il faut que vous supprimiez les attributs css qui précisent les couleurs du texte. Dans FCKeditor, vous pouvez éditer le code source en appuyant sur le premier bouton en haut à droite de la barre d'outil.


  10. Bonsoir,

    J'ai pris les fichiers d'une 6.2 pour mon exemple. Pour les versions 5.71, l'envoi d'e-mail de commande à l'administrateur est se fait constamment, puisque la fonction email_commande est exécuté en début de la fonction affichage_fin_succes(), elle même appelé à la fin du process de commande.

    Vous trouverez ci-dessous la fonction email_commande d'origine :


    function email_commande($commandeid)
    {
    global $wwwroot, $site, $support_commande;
    $result = query("SELECT * FROM peel_commandes WHERE id ='" . intval($commandeid) . "'");
    $com = fetch_object($result);
    $result_utilisateur = query("SELECT * FROM peel_utilisateurs WHERE id_utilisateur ='" . intval($com->id_utilisateur) . "'");
    $u = fetch_object($result_utilisateur);
    $civilite = $u->civilite;
    $prenom = htmlspecialchars_decode_compat_php4($u->prenom, ENT_QUOTES);
    $nom_famille = htmlspecialchars_decode_compat_php4($u->nom_famille, ENT_QUOTES);
    $email = $u->email;
    $headers = "MIME-Version: 1.0\r\n";
    $headers .= "Content-Type: text/plain; charset=iso-8859-1\r\n";
    $headers .= "From: $site <$support_commande>\r\n";
    $object_ok = "[$site] " . ORDER_CONFIRMATION . " $commandeid";
    $message_ok = HELLO . " $civilite $prenom $nom_famille,\n\n";
    $message_ok .= YOUR_ORDER_NUMBER . " $commandeid " . MADE_ON . " " . date($GLOBALS['date_basic_format_short'] . ' ' . $GLOBALS['time_basic_format_short'], strtotime($com->o_timestamp)) . " " . WAS_WELL_SAVED_ON_WEBSITE . " $site.\n\n";
    // $message_ok .= WE_CONFIRM_YOUR_ORDER_ON_WEBSITE . " $site\n n&#176; $commandeid " . MADE_ON . " " . date($GLOBALS['date_basic_format_short'] . ' ' . $GLOBALS['time_basic_format_short'], strtotime($com->o_timestamp)) . " " . WAS_WELL_SAVED_AND_WE_THANK_YOU . ".\n\n";
    // $message_ok .= YOUR_ITEMS_WILL_BE_SENT_WITHIN_15_DAYS . ".\n\n";
    $message_ok .= "---------------------------\n" . YOUR_ORDER_SUMMARY . "\n---------------------------\n\n";
    $message_ok .= AMOUNT . BEFORE_TWO_POINTS . ": " . fprix($com->montant) . " " . EUR_VAT_INCLUDED . "\n";
    $message_ok .= PAYEMENT_MEAN . BEFORE_TWO_POINTS . ": " . $com->paiement . "\n\n";
    $message_ok .= "---------------------------\n" . BILLING_ADDRESS . "\n---------------------------\n\n";
    $message_ok .= htmlspecialchars_decode_compat_php4($com->client_info1, ENT_QUOTES) . "\n\n";
    $message_ok .= "---------------------------\n" . SHIPPING_ADDRESS . "\n---------------------------\n\n";
    $message_ok .= htmlspecialchars_decode_compat_php4($com->client_info2, ENT_QUOTES) . "\n\n";
    $message_ok .= "---------------------------\n" . BOUGHT_ITEMS . "\n---------------------------\n\n";
    $qid_items = query("SELECT oi.*
    FROM peel_commandes_articles oi
    LEFT JOIN peel_produits p ON oi.produit_id = p.id
    WHERE oi.commande_id = '" . intval($commandeid) . "'");
    while ($prod = fetch_assoc($qid_items)) {
    $message_ok .= htmlspecialchars_decode_compat_php4($prod["nom_produit"], ENT_QUOTES) . "\n";
    $message_ok .= ($prod['reference'] != "") ? REFERENCE_MAIL . BEFORE_TWO_POINTS . ": " . htmlspecialchars_decode_compat_php4($prod["reference"], ENT_QUOTES) . "\n" : "";
    $message_ok .= ($prod['taille'] != "") ? SIZE . BEFORE_TWO_POINTS . ": " . htmlspecialchars_decode_compat_php4($prod["taille"], ENT_QUOTES) . "\n" : "";
    $message_ok .= ($prod['couleur'] != "") ? COLOR . BEFORE_TWO_POINTS . ": " . htmlspecialchars_decode_compat_php4($prod["couleur"], ENT_QUOTES) . "\n" : "";
    $message_ok .= QUANTITY . BEFORE_TWO_POINTS . ": " . $prod["quantite"] . "\n";
    $message_ok .= PRICE . BEFORE_TWO_POINTS . ": " . str_replace('&#8364;', '&#8364;', fprix($prod["total_prix"], true)) . ' ' . TTC . " \n";
    }
    $message_ok .= "\n" . SHIPPING_PRICE . "\n";
    $message_ok .= str_replace('&#8364;', '&#8364;', fprix($com->cout_transport, true)) . " " . TTC . "\n\n";
    $message_ok .= SEE_YOUR_ORDER_PROGRESSION . BEFORE_TWO_POINTS . ":\n\n";
    $message_ok .= YOUR_ORDER_WILL_APPEAR_IN_YOUR_ACCOUNT . "\n\n";
    $message_ok .= TO_ACCESS_YOUR_ORDERS_HISTORIC . BEFORE_TWO_POINTS . ":\n - " . CLICK_ON_YOUR_ACCOUNT . ",\n - " . PLEASE_LOGIN . "\n - " . CLICK_ON_ORDERS_HISTORIC . ".\n\n";
    $message_ok .= THANK_YOU_FOR_YOUR_CONFIDENCE . ".\n\n";
    $message_ok .= SEE_YOU_SOON_ON_WEBSITE . " $site.\n\n";
    mail($com->email, "$object_ok", "$message_ok", $headers);
    mail($support_commande, "$object_ok", "$message_ok", $headers);
    }
    [/CODE] ==> Vérifier que la ligne
    [CODE]
    mail($support_commande, "$object_ok", "$message_ok", $headers);

    est présente, et que le champ Email traitement des commandes : est bien renseigné dans votre back office.


  11. Bonjour,

    Les bons paramètres sur lesquels il faut agir sont les paramètres $format et $add_tax_type_text de la fonction get_final_price utilisé dans la fonction affiche_prix (ligne 412, fichier \fonctions\display_product.php).

    La fonction modifié donne :


    function affiche_prix(&$product_object, $with_taxes = true, $reseller_mode = false, $return_mode = false, $display_with_measurement = false, $item_id = null, $display_ecotax = true, $display_old_price = true, $table_css_class = 'full_expand_in_container', $display_old_price_inline = true)
    {
    $output = '';
    $columns = 1;
    if (!empty($product_object->prix)) {
    $output .= '
    <table cellpadding="0" cellspacing="0" class="' . $table_css_class . '">';
    if ($display_old_price_inline) {
    $output .= '
    <tr>';
    if (($product_object->get_original_price($with_taxes, $reseller_mode) != $product_object->get_final_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode)) && $display_old_price) {
    $columns++;
    $output .= '
    <td class="middle"><del>' . $product_object->get_original_price($with_taxes, $reseller_mode, true) . '</del></td>';
    // $output .= PROMOTION . ' - '.fprix(1-$product_object->get_final_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode)/$product_object->get_original_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode)).'% - ';
    }
    $output .= '
    <td>
    <span class="prix"' . (!empty($item_id)?' id="' . $item_id . '"':'') . '>' . $product_object->get_final_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode, true, false) . '</span>
    </td>
    </tr>';
    } else {
    $output .= '
    <tr>
    <td>
    <span class="prix"' . (!empty($item_id)?' id="' . $item_id . '"':'') . '>' . $product_object->get_final_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode, true, false) . '</span>
    </td>
    </tr>';
    if (($product_object->get_original_price($with_taxes, $reseller_mode) != $product_object->get_final_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode)) && $display_old_price) {
    $output .= '
    <tr>
    <td class="middle"><del>' . $product_object->get_original_price($with_taxes, $reseller_mode, true) . '</del></td>
    </tr>';
    // $output .= PROMOTION . ' - '.fprix(1-$product_object->get_final_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode)/$product_object->get_original_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode)).'% - ';
    }
    }
    if ($display_ecotax && !empty($product_object->ecotaxe_ht) && is_module_ecotaxe_active()) {
    $output .= '
    <tr>
    <td colspan="' . $columns . '"><span class="ecotaxe"><i> ' . WITH_ECOTAX . BEFORE_TWO_POINTS . ': ' . fprix($product_object->get_ecotax($with_taxes), true) . '</i></span></td>
    </tr>';
    }
    if ($display_with_measurement) {
    if (!empty($product_object->poids) && $product_object->display_price_by_weight == '1') {
    $output .= '<tr><td colspan="' . $columns . '"><p>' . PRICE_WEIGHT . ' ' . fprix($product_object->get_final_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode) * 1000 / intval($product_object->poids), true) . '</p></td></tr>';
    } elseif (!empty($product_object->volume) && $product_object->display_price_by_weight == '2') {
    $output .= '<tr><td colspan="' . $columns . '"><p>' . PRICE_LITRE . ' ' . fprix($product_object->get_final_price(get_current_user_promotion_percentage(), $with_taxes, $reseller_mode) * 1000 / intval($product_object->volume), true) . '</p></td></tr>';
    }
    }
    $output .= '
    </table>';
    }
    if ($return_mode) {
    return $output;
    } else {
    echo $output;
    }
    }
    [/CODE]


  12. Bonjour,

    Pour supprimer la phrase indiquant Frais de port: offert à partir de 1 500,00 € il faut retirer la ligne suivante


    echo (!empty($_SESSION['caddie']->cout_transport) ? fprix($_SESSION['caddie']->cout_transport, true) . "" : "" . OFFERED . " " . FROM . " ". fprix($seuil_total, true));
    [/CODE]

    Cette ligne est présente à la ligne 210 du fichier \modeles\blog\caddie.php et ligne 204 du fichier modeles\standard\caddie.php.

    La suppression de la sélection de la zone entraine un nombre important de complexité à gérer lors du process de commande. Ces difficultés ont été résolu sur la dernière version de PEEL, je vous propose donc de changer de version pour obtenir cette fonctionnalité.

Twitter Advisto ecommerce

Facebook PEEL Shopping