Flux d’activité

Flux d’activité de Messages

  1. Simon développeur PEEL


    Bonjour,

    un code similaire existe sur la version actuelle, comme indiqué dans mon message précédent : http://forum.peel.fr/topic/9441-récupérer-le-début-de-la-description/?do=findComment&comment=34370

    mais nous n'avons pas d'autre morceau de code de ce genre. Si vous le souhaitez nous pouvons réaliser ce développement pour vous, il faut dans ce cas faire votre demande à notre service commercial au 01 75 43 67 97.

  2. Simon développeur PEEL


    Bonjour,

    A partir de maintenant, lorsque vous téléchargez PEEL SHOPPING 8.0 vous avez droit à la version 8.0.4. Voici la liste des améliorations :

    - Affichage de plus de variables de configuration par défaut sur la page d'édition des configurations dans l'administration
    - Ajout d'un titre pour la page de création d'adresse
    - Ajout d'une colonne "Fournisseur" pour permettre pour chaque produit de définir le fournisseur auquel il est rattaché (select généré à partir des utilisateurs en statut fournisseur)
    - Ajout d'une nouvelle zone HTML personnalisée dans le footer qui permet de modifier l'ensemble du footer en désactivant l'affichage par défaut
    - Ajout d'une robustesse supplémentaire pour compatibilité avec une version spécifique de PHP apparemment boguée de l'appel au test de l'existence d'un hook
    - Ajout de champ complémentaire lors de la création de l'utilisateur admin dans la base de données lors de l'installation
    - Ajout de la possibilité de mettre au panier tous les produits complémentaires d'un produit en une seule fois. Cette fonctionnalité s'active via un paramètre général du site, et code technique spécifique pour le produit principal
    - Amélioration de la présentation des résultats dans le moteur de recherche en fonction des modules présents sur le site
    - Correction de url() : guillemets obligatoires dans les specs CSS
    - Dans la page de liste de client par produit, le lien d'export des clients était en blanc sur blanc, avec une taille de typo trop petite.
    - Dans les bannières, priorité donnée au HTML 5 au lieu du flash pour favoriser le référencement si les deux versions sont en base de données pour une même bannière
    - En multisite si un moyen de paiement est défini sur plusieurs sites mais pas pour tous, sélection bon moyen de paiement dans l'administration d'une commande
    - Mettre le qrcode dans la classe fp_produit
    - Mise à jour de la TVA dans le fichier d'import exemple
    - Modification du nom d'une variable en invoice_pdf_logo_display_disable
    - Modification du nom du fichier SQL pour permettre l'exécution automatique lors de l'installation
    - Ne pas afficher par défaut champs numéro de commande dans formulaire de contact
    - Nouveau mode update_thumbs=1 dans l'URL pour déboguer les thumbs si on est loggué en administrateur
    - Optimisation : mise en cache de la barre de recherche du menu
    - Optimisation chargement d'articles pour affiche_guide
    - Optimisation du SQL : éviter des requêtes multiples dans get_content_url si utilisation de affiche_guide
    - Optimisation pour avoir images directement au lieu du thumbs si même taille
    - Refonte de la gestion des uploads fineuploader pour permettre de gérer des noms d'input sous forme de tableaux
    - Suppression de l'affichage des attributs de type upload dans le moteur de recherche.

    Pour migrer à partir d'une autre version, consultez :
    => http://forum.peel.fr/topic/8373-tutorial-migration-de-toute-version-peel-shopping-vers-80/

  3. xeon


     J'ai finalement remplacé (dans la class Product)

       if (empty($this->descriptif)) {
                $descriptif = 'descriptif_' . $_SESSION['session_langue'];
                $this->descriptif = String::html_entity_decode_if_needed(vb($this->$descriptif));

    par

    if (empty($this->descriptif)) {
            $descriptif = 'descriptif_' . $_SESSION['session_langue'];
                 $this->descriptif = String::html_entity_decode_if_needed($this->description);

    Alors là je trouve la description qui joue le rôle du descriptif, mais sur la page qui affiche le produit, alors que je voudrais que le début du descriptif long s'affiche sur les pages listant les produits, c'est-à-dire les pages de catégories, et que chaque titre de produit listé sur la page "catégories", soit suivi d'une partie du descriptif long.

     


  4. Bonjour,

    Il y a un point et un guillemet en trop après $_SESSION['session_langue'] :

            $qid_c = query('SELECT id, nom_' . $_SESSION['session_langue'] . ', description_' . $_SESSION['session_langue'] . ', parent_id, image_' . $_SESSION['session_langue'] . ' AS image

                FROM peel_categories

                WHERE parent_id="' . intval($parent_id) . '" AND id>"0" AND etat="1"

                ORDER BY nom_' . $_SESSION['session_langue'] .');

    Je pense que l'erreur de parsing que vous rencontrez vient de là.

     


  5. Bonjour,

    Vous pouvez éditer vos produits pour remplir le champ "descriptif" qui permet d'afficher quelques lignes de contenu sur les pages de catégories.

    Sur les versions 8 de PEEL, vous pouvez définir le paramètre de site product_short_description_generate_if_empty / boolean / true et changer le 2ème paramètre de la fonction str_shorten, puisque l'on récupère les 500 premiers caractères par défaut :

                if(empty($this->descriptif) && !empty($GLOBALS['site_parameters']['product_short_description_generate_if_empty'])) {
                    $this->descriptif = String::str_shorten(String::strip_tags($this->description), 500);
                }

    Sur les versions plus anciennes il faut ajouter ce code dans la fonction Product de la classe Product.

  6. xeon


    Bonjour,

    Je travaille sur la 6.4, et je voudrais afficher la liste des sous-catégories dans l'ordre alphabétique. C'est celle qui se trouve dans le tableau en haut des pages catégories.

    J'ai trouvé la fonction je pense dans display_product.php,, et j'écris

        function get_subcategories_table($parent_id, $nb_colonnes, $return_mode = false, $display_image = true)

        {

            $output = '';

            $qid_c = query('SELECT id, nom_' . $_SESSION['session_langue'] . ', description_' . $_SESSION['session_langue'] . ', parent_id, image_' . $_SESSION['session_langue'] . ' AS image

                FROM peel_categories

                WHERE parent_id="' . intval($parent_id) . '" AND id>"0" AND etat="1"

                ORDER BY nom_' . $_SESSION['session_langue'] .');

    La dernière ligne remplaçant ORDER BY position');

     

    Mais j'ai une erreur parse, et je ne parviens pas à écrire la ligne correctement. J'ai à peu près tout essayé mais cela ne corrige pas. Auriez-vous la solution s'il vous plait ?

    Merci.

     

     


  7. Bonjour,

    Dans ce cas vous devez ajouter une limitation en PHP dans la boucle while qui exploite les résultats. Pour limiter à 5 produits par commande, il faut dans un premier temps initialiser un compteur dans la boucle. Juste sous le while, vous pouvez ajouter :

    if (empty($last_order_id) || (!empty($last_order_id) && $last_order_id != $row['commande_id'])) {
    $i = 0;
    }

    en dessous, il faut placer l'exclusion des résultats si i$ == 5 :
    if ($i >= 5) {
    continue;
    }

    Ensuite tout en bas de la boucle, il faut ajouter l'incrémentation du compteur et la variable $last_order_id

    $i++;
    $last_order_id = $row['commande_id'];

     

  8. neomega


    merci pour cette réponse mais cette solution ne m'affiche que 5 résultats en tout alors que je souhaite afficher max 5 résultats PAR COMMANDE

     

     

    <?php
    include("configuration.inc.php");
    $csv_filename = 'export_'.date("d-m-Y");
    
    
    
    $sql = 'SELECT commande_id,produit_id,image1,nom_bill,prenom_bill,telephone_bill,email_bill,ville_bill,pays_bill,a_timestamp,
    		nom_produit 
    		
    		FROM peel_commandes_articles AS a
    		INNER JOIN peel_commandes AS c ON c.id=commande_id
    		INNER JOIN peel_produits AS f ON produit_id=f.id
    		WHERE a_timestamp >= \'2015-07-01 00:00:00.000000\' 
    		ORDER BY commande_id ASC
    		
    		';
    
    
    $result = query($sql);
    $csv_export='id_order;email;lastname;firstname;date_order;id_product;nom;url_prod;url_image';
    $csv_export .= "\n";
    while ($row = fetch_assoc($result)) {
    	$csv_export .= "".$row['commande_id'].";".$row['email_bill'].";".$row['nom_bill'].";".$row['prenom_bill'].";".$row['a_timestamp'].";".$row['produit_id'].";".$row['nom_produit'].";http://www.grossiste-en-accessoire.com/achat/produit_details.php?id=".$row['produit_id'].";http://www.grossiste-en-accessoire.com/upload/".$row['image1'].'"'; //Là aussi on remplace les ; par \t pour obtenir une tabulation
    	$csv_export .= "\n";
    }
     
    // Export csv 
    header("Content-type: text/x-csv; charset=utf-8");
    header("Content-Disposition: attachment; filename=".$csv_filename.".csv");
    print($csv_export);
    ?>
    	

     


  9. Bonjour,

    La clause LIMIT est à ajouter à la fin de la requête :

    SELECT commande_id,produit_id,image1,nom_bill,prenom_bill,telephone_bill,email_bill,ville_bill,pays_bill,a_timestamp, nom_produit
    
    FROM peel_commandes AS c 
    
    INNER JOIN peel_commandes_articles ON c.id=commande_id 
    
    INNER JOIN peel_produits AS f ON produit_id=f.id 
    
    WHERE c.a_timestamp >= '2016-07-01 00:00:00.000000'
    LIMIT 5
    
  10. neomega


    bonjour

    je souhaite exécuter ceci 

     

    $sql = 'SELECT commande_id,produit_id,image1,nom_bill,prenom_bill,telephone_bill,email_bill,ville_bill,pays_bill,a_timestamp,nom_produit 
            FROM peel_commandes_articles AS a
            INNER JOIN peel_commandes AS c ON c.id=commande_id
            INNER JOIN peel_produits AS f ON produit_id=f.id
            WHERE a_timestamp >= \'2016-05-01 00:00:00.000000\' 
            ORDER BY commande_id ASC
            ';

    mais limiter l'affichage du nombre de produits de chaque commande avec un LIMIT 5

    pouvez vous m'aider car j'ai essayer plusieurs façon mais aucune ne fonctionne :

    ex:

    SELECT commande_id,produit_id,image1,nom_bill,prenom_bill,telephone_bill,email_bill,ville_bill,pays_bill,a_timestamp, nom_produit
    
    FROM peel_commandes AS c 
    
    INNER JOIN (select * from peel_commandes_articles LIMIT 5) peel_commandes_articles ON c.id=commande_id 
    
    INNER JOIN peel_produits AS f ON produit_id=f.id 
    
    WHERE c.a_timestamp >= '2016-07-01 00:00:00.000000'

    cette solution ne me retourne du coup aucune ligne alors qu'il y en a !!!!

     


  11. Bonjour,

    la fonction qui génère la requête de sélection de produits sur les pages catégories est la fonction params_affiche_produits, défini dans le fichier lib/fonctions/fonctions.php.
    Dans cette fonction vous pouvez ajouter une contrainte dans la requête SQL de sélection de produit.

    Pour la page de détail de produit, il s'agit de la fonction get_produit_details_html qui appelle la classe Product. Donc si vous souhaitez modifier les conditions d'affichage du produit, il faudra modifier la requête de sélection de produit dans lib/class/Product.php

  12. xeon


    Bonjour,

    Je souhaiterais pouvoir forcer l'affichage des listes de produits, ainsi que des pages détail produit, en fonction de la valeur prix. Par exemple : n'afficher que les produits dont le prix est = à 0.

    Pouvez-vous m'indiquer où sont écrites les fonctions sur lesquelles je dois effectuer mes modifications ? La version est 6.3

    Merci d'avance.


  13. Bonjour,

    Pour savoir quelle page est appelée, vous pouvez utiliser les constantes défini en haut de chaque page.

    Pour la page d'accueil, la constant s'appelle IN_HOME, dans les pages catalogues la constante est IN_CATALOGUE et dans la page de rubrique IN_RUBRIQUE.
    Vous pouvez donc faire le test if (defined('IN_HOME')) {} par exemple pour placer du code qui s'exécutera spécifiquement sur la page d'accueil de votre site. Pour cibler les rubriques de premier niveau seulement, il faut pour cela faire un test complémentaire sur la rubrique que l'on consulte, en allant chercher en base de donnée si la valeur du champ parent_id a pour valeur 0 pour cette rubrique.

  14. Myriam


    Bonjour,

    Dans le header (id=main_header) et particulièrement dans le style navbar-inner j'ai mis une image de fond.

    Je souhaiterai que cette image de fond soit différente en page d'accueil, en page catalogue et pour les rubrique de premier niveau.

    Où puis-je mettre mon code pour obtenir ce résultat ? est-ce que je peux utiliser les code-technique pour différencier mes zones ? où avez-vous une solution déjà toute prête dans la version 8 ?

Twitter Advisto ecommerce

Facebook PEEL Shopping