Flux d’activité
Flux d’activité de Messages
-
-
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.
-
-
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/ -
Bonjour,
Pour cibler les pages de catégories spécifiquement, vous pouvez faire un test sur la constante IN_CATALOGUE qui est défini que dans les pages de catégories. Pour récupérer une partie seulement, vous pouvez utiliser la fonction str_shorten de la classe String.
-
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.
-
-
-
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à.
-
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.
-
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.
-
Bonjour,
Existe-il une solution déjà testée, pour récupérer le début de la description et s'en servir comme un descriptif court (avec nombre de caractères limités à 50 pas exemple), et qui pourrait s'afficher sur la page des catégories ?
Merci.
-
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']; -
-
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); ?>
-
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
-
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 !!!!
-
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 -
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.
-
-
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. -
Par contre, lorsque l'on clique sur un produit et qu'on affiche donc la fiche d'un produit, la variable $page_name est vide. Cela est aussi le cas pour le panier
-
J'ai remarqué qu'il y avait cette variable dans le haut.tpl = page_{$page_name} ; Ce qui donne page_index pour l'accueil, page_catalogue pour le catalogue, etc
Cela pourrait être un bon début pour moi, peut-être plus facile que le code-technique ?
-
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 ?
-
Bonjour,
La configuration fourni ne permet pas de cerner le problème. Avez-vous une URL à communiquer sur laquelle le problème est reproductible svp ?
Récupérer le début de la description
dans PEEL SHOPPING : logiciel open source de boutique en ligne
xeon
Posté(e) · Signaler ce message
Ça se trouverait dans achat/index.php ?