Flux d’activité

Flux d’activité de Messages


  1. Bonjour,

     

    Les informations de paiements par chèque ou virement sont à mettre dans les coordonnées de la société, administrable sur la page administrer/societe.php. Ces informations s'afficheront sur la page de fin de paiement par chèque ou par virement.

    Un email est normalement envoyé lors du paiement de la commande. Sur la page d'administration des modèles d'email, vous pouvez vérifier si l'email email_commande est présent et actif.

  2. Lilouetpuce


    Bonjour,

     

    je suis sous peel version 6.1.1

    Ma boutique tourne parfaitement depuis plusieurs mois et déjà, merci, car les clients en sont très contents et la trouve très fluide et claire.

     

    Un problème m'a été remonté récemment (sans que je sache s'il existe depuis longtemps, voire toujours), mes clients n'ont pas aisément les coordonnées postales et bancaires de la boutique.

     

    Je souhaiterai que lors d'une commande avec paiement par chèque, les clients puissent voire sur le site, l'adresse où envoyer le chèque lors de la finalisation de la commande.

    De même lors d'un paiement par virement bancaire, j'aimerai que les clients puissent voire les coordonnées bancaires pour effectuer ce virement.

     

    S'il n'est pas possible d'afficher ces informations et/ou s'il est possible d'envoyer un mail automatique lors de la commande du client et contenant ces informations, cela serait parfait.

     

    Actuellement mes clients ne recoivent aucun mail lors de leurs achats...

    Pourtant, dans le paramétrage de la boutique, l'activation de l'envoi d'emails sur tout le site est activé.

     

    Merci de l'aide que vous pourrez me fournir,

    cordialement,

     

    Claire

     


  3. Bonjour,

    j'ai mis un accent à la variable $requete dans mon message, il y en a pas.
    La bonne ligne est

    echo $requete; die();
    vous parlez de l'executer dans phpmyadmin ? comment je fais cela ?


    Si vous êtes en local, vous pouvez lire la documentation de votre serveur. Si vous travaillez sur un site hébergé, vous pouvez voir directement avec votre hébergeur.
    Si vous le souhaitez, nous pouvons finir intégralement cette modification. Il faut dans ce cas prendre contact avec un conseiller commercial au 01 75 43 67 97.


  4. Bonjour,

     

    Il y a deux type de modifications à faire. D'abord supprimer les champs textes permettant de renseigner une quantité, ensuite modifier le caddie pour empêcher un deuxième ajout d'un même produit.

     

    La première est de modifier le formulaire pour que les utilisateurs ne puissent pas ajouter plusieurs produits en 1 fois. Il faut modifier  le formulaire où s'affiche le champ text dans lequel l'utilisateur renseigne la quantité. C'est la fonction affiche_critere_stock qui gère cette partie, et elle fait appel au fichier modeles\peel7\smarty\critere_stock.tpl.

    Dans ce fichier, vous pouvez remplacer la ligne 

    <span>{$STR_QUANTITY}{$STR_BEFORE_TWO_POINTS}: </span><input type="text" size="3" name="qte" value="{$qte_value|str_form_value}" />

    par 

    <input type="hidden" name="qte" value="1" />

    Ensuite, il faut empêcher les utilisateurs de modifier la quantité dans le champ quantité du panier. Pour ce cas, il faut modifier le fichier modeles\peel7\smarty\caddie_products_summary_table.tpl, ligne

    				<input type="text" size="3" style="width:23px" name="quantite[{$p.numero_ligne}]" value="{$p.quantite.value|str_form_value}" {if isset($p.quantite.message)} onchange="if(this.value>{$p.quantite.stock_commandable}) {ldelim}this.value='{$p.quantite.stock_commandable}'; alert('{$p.quantite.message|filtre_javascript:true:true:true:false}');{rdelim}"{/if} />
    				<input type="submit" value="" name="" class="bouton_ok" />

     

    Pour le second point, l'ajout au panier est géré par la méthode add_product de la class Caddie du fichier lib\class\Caddie.php. Il y a un test dans cette fonction pour savoir si il est nécessaire de créer une nouvelle ligne dans le panier, ou de mettre à jour une ligne existante.

    Il faut faire une modification pour le premier cas de figure, pour faire en sorte qu'il ne soit pas possible de mettre à jour une ligne qui existe, sans pour autant créer une nouvelle ligne. Sous le test 

            if (isset($numero_ligne)) {
                // Le produit est déjà dans le panier avec la bonne configuration de couleur et de taille
                $quantite_start = $this->quantite[$numero_ligne];

    remplacer le calcul de la variable $quantity_wished par quantity_wished = 0;

     

    => La ligne ne sera à priori pas modifiée.

  5. heffel


    Bonjour,

     

    je ne parviens pas à limiter le nombre d'article par produit.

     

    Mon souhait serait de brider à 1 seul article maximal dans le panier par produit.

     

    Je ne parviens pas à modifier le code caddie ajout, pourriez-vous m'aider svp ou m'indiquer si il existe ce bridage par la console.

     

    Je suis en peel 7.03

     

    Merci.

  6. J1P


    Rebonjour Simon

     

    donc j'ai modifie vos petits codes, en effet j'etais loin du compte

     

    lorsque je fais une recherche sur un objet ici un vase dans la marque 2 en realite j'obtiens le resultat dans la marque 1 et 2 comme si seul le premier champ fonctionnait mais pas le critere de la marque

     

    dans le lien j'ai /search.php?match=2&search=vase&brand=2&action=


  7. Bonjour,

     

    Ok pour la première étape. Il reste deux modifications à faire :

    - Il faut donc récupérer l'id de la marque envoyée en GET

    - Ajouter un critère à la requête de recherche.

     

    Pour le premier point, vous pouvez ajouter $brand = vn($_GET['brand']); sous le bloc

    $output = '';
    $output_result = '';
    $match = vb($_GET['match']);
    $search = vb($_GET['search']);

    au début du fichier search.php.

     

    Pour l'étape deux, 2 sous-étapes :

     

    - il faut ajouter le paramètre $brand aux fonctions build_sql_produits et build_terms_clause:

    build_sql_produits($terms, $fields, $match, $brand);

    build_terms_clause($terms, $fields, $match, $brand);

    => Il faut modifier les appels de fonction, ainsi que la définition de la fonction.

     

    - Dans la fonction qui créer le SQL, il faut ajouter la contrainte sur l'id de la marque :

    pour build_sql_produits, la requete ressemblera à ceci :

     

        $requete .= 'FROM peel_categories c
            INNER JOIN peel_produits_categories pc ON pc.categorie_id = c.id
            INNER JOIN peel_produits p ON p.id = pc.produit_id

            LEFT JOIN peel_marques m ON p.id_marque = m.id
            WHERE p.etat = "1" AND ' . build_terms_clause($terms, $fields, $match) . '
            ORDER BY p.id DESC
            LIMIT 100';

     

    pour faire fonctionner build_terms_clause, vous pouvez ajouter

    if (!empty($brands)) {

            $this_term_conditions_array[] = "m.id = ". $brands;

    }

    sous la boucle 

            foreach ($fields as $val) {
                $this_term_conditions_array[] = word_real_escape_string($val) . ' ' . word_real_escape_string($notmod) . ' LIKE "%' . nohtml_real_escape_string($term) . '%"';
            }

    (ligne 268 sur votre version).

     

    Voila dans l'esprit des modifications à faire pour obtenir ce que vous souhaitez. Ce code n'a pas été testé, je vous laisse le soin de l’adapter à votre site.

  8. J1P


    Bonjour Simon,

     

    Par rapport a vos pistes j'ai commence a modifier cela

     

    Page display

     

    if (!function_exists('affiche_menu_recherche')) {
        /**
         * affiche_menu_recherche()
         *
         * @param mixed $return_mode
         * @param string $display_mode
         * @return
         */
        function affiche_menu_recherche($return_mode = false, $display_mode = 'header')
        {
            $output = '
    <form method="get" action="' . $GLOBALS['wwwroot'] . '/search.php" id="recherche">
        <fieldset>
            <tr><input type="hidden" name="match" value="2" />
            <td><input type="text" name="search" id="search" value="" /></td><td>
                    ' .  affiche_select_marque(true) . '
                </td>

            <td><input type="submit" class="bouton_go" value="" name="action" /></td></tr>
            <div id="placement_produit" class="autocomplete"></div>
        </fieldset>
    </form>
    ';
            if ($GLOBALS['site_parameters']['enable_prototype'] == 1) {
                // AUtocompleter, avec patch pour repositionner le div à cause d'un bug connu sur IE : le positionnement se fait mal quand on a des div relative ou absolute
                $output .= '<script type="text/javascript"><!--//--><![CDATA[//><!--
    function positionAuto(element, entry) {
        setTimeout( function() {
          Element.clonePosition("placement_produit", "search", {
          "setWidth": false,
          "setHeight": false,
          "offsetTop": $("search").offsetHeight
        } );
      }, 600);
      return entry;
    }
    new Ajax.Autocompleter(\'search\',\'placement_produit\',\'' . $GLOBALS['wwwroot'] . '/modules/search/produit.php\', {
      minChars: 2,
      callback: positionAuto });
    //--><!]]></script>
    ';
            }
            
            if ($return_mode) {
                return $output;
            } else {
                echo $output;
            }
        }
    }

     

    Ce qui a pour effet de me mettre le champ recherche suivi du select des marques et le ok (submit)

     

    Apres la modification sur la page search je bloque car je ne la comprends pas bien

     

    function build_sql_produits($terms, $fields, $match)
    {
        $requete = 'SELECT DISTINCT(p.id)
            ,c.id AS categorie_id
            ,c.nom_' . $_SESSION['session_langue'] . ' AS categorie';
        // ajout des champs $fields où $term sera recherché
        foreach($fields as $value) {
            $requete .= ', ' . $value . ' ';
        }

        $requete .= 'FROM peel_categories c
            INNER JOIN peel_produits_categories pc ON pc.categorie_id = c.id
            INNER JOIN peel_produits p ON p.id = pc.produit_id
            WHERE p.etat = "1" AND ' . build_terms_clause($terms, $fields, $match) . '
            ORDER BY p.id DESC
            LIMIT 100';
            
            $requete .= '
            FROM peel_marques m
            WHERE m.etat = "1" AND ' . build_terms_clause($terms, $fields, $match) . '
            ORDER BY m.id DESC
            LIMIT 100';
        return $requete;
    }

     

    J'ai donc rajoute la requete vers peel_marques ce qui a pour effet de me creer

    /search.php?match=2&search=vase&brand=2&action=

     

    donc vase est bien pris en compte mais pas la marque

     

    J'ai lu sur les forums pour utiliser les multi criteres mais leurs codes semblent bien differents de peel

     

    Une petite aide SVP

     

    Merci beaucoup

     

    Anh

  9. Calou


    Bonjour,

     

    Il doit y avoir une erreur car sur mon fichier administrer/produits.php à la ligne 125 et 151 il n'y a pas de paramètre à modifier (j'ouvre le fichier avec dreamweaver cs3) !!

    Voir ci-dessous

     

    125: case "stock" :

            if (is_stock_advanced_module_active ()) {

                $output .= affiche_formulaire_stock(intval($_GET['id']));

            } else {

                $output .= affiche_liste_produits($_GET);

            }

            break;



        case "commande" :

            $output .= affiche_liste_produits_acommander();

            break;



        case "stocknul" :

    151: if (is_stock_advanced_module_active ()) {
     

     

    Merci de votre aide :)

Twitter Advisto ecommerce

Facebook PEEL Shopping