Flux d’activité

Flux d’activité de Messages


  1. Bonjour,

     

    Pour comprendre l'origine du problème, vous pouvez vérifier que la valeur de $product_object->id_marque soit différente pour chaque produit (en utilisant var_dump($product_object->id_marque)). Si cette valeur est différente à chaque passage, vous pouvez regarder plus en détail le fonctionnement de la fonction get_brand_link_html, en testant la variable $brand avec var_dump par exemple


  2. Bonjour,

     

    vous pouvez modifier la requête SQL  $Links->SqlRequest pour ajouter une contrainte sur le champ etat de peel_produits :

     

     

     $Links-> SqlRequest = "SELECT p.reference, p.id, p.nom_".$_SESSION['langue'].", s.stock FROM `peel_stocks` s, peel_produits p WHERE p.etat=1 AND s.stock <= 0 AND p.id = s.produit_id ORDER BY p.id";
  3. stefan


    Bonjour,
    Je souhaite faire disparaitre les produits "en attente" dans la liste des produits dont le stock est nul (administrer/produits.php?mode=stocknul) de manière à gérer que les produits qui sont en lignes.
    Quelle fonction dois-je rajouter ?
    Je suis en 5.1

     
    Help
    Merci
    Stefan

    function affiche_liste_produits_stocknul($frm) 
    {
    global $wwwroot;
    global $categorie_options;
    ?>
    <table border="0" class="tablespace" width="100%">
    <tr>
    	<td class="entete">Liste des produits dont le stock est nul</td>
    </tr>
    
    
    			<?php 
    			$Links = new MultiPage();
    			$Links-> ResultPerPage = 2000;
    			$Links-> LinkPerPage   = 4;
    			$Links-> Template	   = "tpl1.htm";
    			
    			$Links-> SqlRequest = "SELECT p.reference, p.id, p.nom_".$_SESSION['langue'].", s.stock FROM `peel_stocks` s, peel_produits p WHERE s.stock <= 0 AND p.id = s.produit_id ORDER BY p.id";
    			
    			$Links-> Initialize();
    			
    			$resHS=mysql_query($Links-> LimitSQL); 
    			
    			if (mysql_num_rows($resHS) == 0) 
    			
    			{
    			
    			echo "<tr><td class=\"label\"><b>Tous les produits sont en stock</b></td></tr>"; } 
    			
    			else {
    			?>
    			
    			<?php 
    			$i = 0;
    			
    			echo "<table border=\"0\" class=\"tablespace\" width=\"100%\">";
    			
    			echo "<tr><td class=\"menu\">Action</td><td class=\"menu\">Reference</td><td class=\"menu\">Référence</td></tr>";
    			
    			$i = 0;
    			
    			while ($HS = mysql_fetch_array($resHS)) {
    			
    			$page = (!empty($_GET['page'])) ? $_GET['page'] : 1;
    			
    			echo tr_rollover($i);
    	
    			echo "<td class=\"normal\" align=\"center\"><a href=$wwwroot/administrer/produits.php?page=$page&mode=stock&id=".$HS['id']."><img src=\"$wwwroot/administrer/images/stock.gif\" border=\"0\"></a></td><td class=\"label\"><a href=$wwwroot/administrer/produits.php?mode=modif&id=".$HS['id'].">".html_entity_decode($HS['nom_'.$_SESSION['langue'].''])."</a></td><td>".$HS['reference']."</td></tr>";
    			
    			$i++;
    			
    			}
    
    			}
    			
    			
    			?>
  4. tiankris


    Merci, l'affichage de la marque a bien lieu, sauf que c'est toujours la même marque qui apparaît, quelque soit le produit.

     

    Si je coche 4 produits à afficher en accueil, alors j'ai la marque du premier produit de la liste pour tout les produits.

     

    C'est comme si à la génération de la cellule d'affichage du produit, ma variable 'marque' n'était pas réinitialisée et garde donc la valeur de la première cellule produit affichée. Y a t il un endroit ou l'on doit initialiser la variable 'marque' ? 

     

    Voici mon code ajouté (en gras)

    A partir de la ligne 618

     
    $product_object = new Product($prod['id'], $prod, true, null, true, !is_user_tva_intracom_for_no_vat() && !is_micro_entreprise_module_active());
     
    // on affiche une cellule
    $tmpProd['i'] = $j + 1;
     
    if ($type == 'save_cart') { // Si on est dans le module save_cart on ajoute les actions du module
    $tmpProd['save_cart'] = array(
    'src' => $GLOBALS['wwwroot'] . '/' . $GLOBALS['site_parameters']['backoffice_directory_name'] . '/images/b_drop.png',
    'href' => get_current_url(false) . '?mode=delete&id=' . $prod['save_cart_id'],
    'confirm_msg' => $GLOBALS['STR_DELETE_CART_PRESERVATION'],
    'title' => $GLOBALS['STR_DELETE_CART_TITLE'],
    'label' => $GLOBALS['STR_DELETE']
    );
    }
    $tmpProd['href'] = $product_object->get_product_url();
    $tmpProd['name'] = $product_object->name;
     
    if ($mode == 'line' || empty($GLOBALS['site_parameters']['disable_description_in_products_columns'])) {
    $tmpProd['description'] = String::str_shorten_words(String::str_shorten(str_replace(array("\n","\r", '  ', '   '), ' ',String::strip_tags(String::nl2br_if_needed(trim($product_object->descriptif)))), $description_length), 60);
    }
     
    if (!empty($_GET['cId']) && !empty($_GET['pId']) && $_GET['pId'] == $prod['id']) {
    // Lors de la sélection de la couleur d'un produit depuis une page catalogue
    $display_picture = $product_object->get_product_pictures(false, $_GET['cId'], true);
    $display_picture = $display_picture[0];
    } else {
    $display_picture = $product_object->get_product_main_picture(true);
    }
     
    if (!empty($display_picture)) {
    if (pathinfo($display_picture, PATHINFO_EXTENSION) == 'pdf') {
    $tmpProd['image'] = array(
    'src' => $GLOBALS['repertoire_upload'] . '/thumbs/' . thumbs('logoPDF_small.png', $params['small_width'], $params['small_height'], 'fit', $GLOBALS['dirroot'] .'/images/'),
    'width' => $GLOBALS['site_parameters']['small_width'],
    'height' => $GLOBALS['site_parameters']['small_height'],
    'alt' => $product_object->name,
    'zoom' => array(
    'href' => $GLOBALS['repertoire_upload'] . '/' . $display_picture,
    'is_lightbox' => false,
    'label' => $GLOBALS['STR_ZOOM']
    )
    );
    } else {
    $tmpProd['image'] = array(
    'src' => $GLOBALS['repertoire_upload'] . '/thumbs/' . thumbs($display_picture, $params['small_width'], $params['small_height'], 'fit'),
    'width' => false,
    'height' => false,
    'alt' => String::str_form_value($product_object->name),
    'zoom' => array(
    'href' => $GLOBALS['repertoire_upload'] . '/' . $display_picture,
    'is_lightbox' => true,
    'label' => $GLOBALS['STR_ZOOM']
    )
    );
    }
    } else {
    $tmpProd['image'] = array(
    'src' => $GLOBALS['repertoire_upload'] . '/thumbs/' . thumbs($GLOBALS['site_parameters']['default_picture'], $params['small_width'], $params['small_height'], 'fit'),
    'width' => '130',
    'height' => false,
    'alt' => $GLOBALS['STR_PHOTO_NOT_AVAILABLE_ALT']
    );
    }
     
    // Affichage de la marque page d'accueil
    if ($product_object->on_special==1 && defined('IN_HOME')) {
      $tpl->assign('marque', array(
           'label' => $GLOBALS['STR_BRAND'] . $GLOBALS['STR_BEFORE_TWO_POINTS'],
                            'txt' => trim(get_brand_link_html($product_object->id_marque, true))
                        ));
    }
    // Fin Affichage de la marque page d'accueil
     
    if ($product_object->is_price_flash(is_reseller_module_active() && is_reseller())) {
    $tmpProd['flash'] = $GLOBALS['STR_TEXT_FLASH1'] . ' ' . get_formatted_duration(strtotime($product_object->flash_end) - time(), false, 'day') . ' ' . $GLOBALS['STR_TEXT_FLASH2'];
    }  
    // Affichage des produits en ligne
     
    A l'affichage j'ai ceci , post-12081-0-67844800-1416914477_thumb.j (Pays correspond à la marque)
     
     

  5. Bonjour,

     

    vous pouvez placer $product_object->on_special==1 autour de

    $tpl->assign('marque', array(
                            'label' => $GLOBALS['STR_BRAND'] . $GLOBALS['STR_BEFORE_TWO_POINTS'],
                            'txt' => trim(get_brand_link_html($product_object->id_marque, true))
                        ));
    pour afficher le bloc uniquement pour les produits en page d'acceuil. Il faut utiliser aussi la constante IN_HOME pour savoir si la fonction est appelée par la page d'accueil et pas une autre. Donc le test est

     

    if ($product_object->on_special==1 && defined('IN_HOME')) {
    
       $tpl->assign('marque', array(
    
                            'label' => $GLOBALS['STR_BRAND'] . $GLOBALS['STR_BEFORE_TWO_POINTS'],
                            'txt' => trim(get_brand_link_html($product_object->id_marque, true))
                        ));
    
    }
  6. serialmother


    J'ai fini par trouver une solution :

    <marquee style="color:#FF0000;font-size:20px;behavior="scroll" direction="left" width="1050" height="25" scrollamount="4" scrolldelay="0" onmouseover="this.stop()" onmouseout="this.start()"><font face="Arial, Helvetica, sans-serif"><strong><em>TEXTE 1</em></strong><strong> TEXTE 2.</strong></font></marquee>

     

    j'ai posté un peu vite...

  7. tiankris


    Dans display_product, j'ai ajouté ceci:

     

    $tpl->assign('marque', array(
                            'label' => $GLOBALS['STR_BRAND'] . $GLOBALS['STR_BEFORE_TWO_POINTS'],
                            'txt' => trim(get_brand_link_html($product_object->id_marque, true))
                        ));
     

    Dans produits.tpl, ligne 117 j'ai ajouté ceci afin de faire apparaître la marque:

     
    {if isset($marque)}
    <h3 property="brand">{$marque.label}: <b>{$marque.txt}</b></h3>
    {/if}
     
    Pas de problème, la marque s'affiche bien si je suis dans une catégorie.
    Par contre, si je coche un ou plusieurs produits à afficher en page d'accueil, c'est une autre marque qui s'affiche (la même marque pour tout les produits de la page d'acceuil).
     
    Pourquoi donc cela?
    Ou faut il placer ($product_object->on_special==1) ?
     
    :-(

  8. Bonjour,

     

     

    le panneau de validation pour appeler le système systempay est déroutant et três tard dans le processus.

    Le paiement est la dernière étape dans le process de commande, une fois que l'utilisateur a rempli et vérifié toutes les informations liées à la commande. Techniquement c'est également à ce moment que la commande est enregistré en base de donnée.

     

    Par exemple vous pouvez modifier la fonction get_payment_select pour afficher un texte sous le nom du moyen de paiement. Dans la boucle de cette fonction vous pouvez cibler le mode de paiement systempay avec $tab_paiement['technical_code'] == 'systempay'.

  9. Micka


    Bonjour,

     

    Je souhaiterais proposer des tarifs de livraison en fonction du poids et du département de livraison, pour la France uniquement (grille tarifaire de mon transporteur).

     

    Lors de la commande, il n'y aurait donc comme pays de livraison proposé, que la France.

     

    Puis le choix du département serait proposé : 01 Ain, 02 Aisne; etc

     

    La grille tarifaire serait paramètrée ainsi :

     

    01 AIN | 1 a 15 kg | 16 à 30 kg | 31 à 40 kg | 41 à 50 kg | ...

                |  15.75 €  |    17.50 €   |     19.65 €   |    23.29 €   | ...

     

     

    02 AISNE | 1 a 15 kg | 16 à 30 kg | 31 à 40 kg | 41 à 50 kg | ...

                     |  20.62 €  |    22.92 €   |    24.68 €   |    27.79 €   | ...

     

     

    Je ne vois pas comment configurer ce fonctionnement de frais de port pour ma boutique (V 7).

     

    Merci d'avance pour votre aide.

     

    Cordialement,

     

    Mickael


  10. Bonjour,

     

    La fonction d'affichage des produits dans les pages catalogues est affiche_produits dans le fichier lib\fonctions\display_product.php. Le fichier template associé est produits.tpl. Il faut créer une nouvelle variable SMARTY dans cette fonction qui contiendra la marque du produit ($product_object->get_product_brands(false)) ; si le produit est affiché en page d'accueil ($product_object->on_special==1)

Twitter Advisto ecommerce

Facebook PEEL Shopping