Bidouille du composant random product de virtuemart

Réduire
X
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • Bidouille du composant random product de virtuemart

    Salut,

    J'aimerais bidouiller le composant Random product du composant virtuemart ...

    Le pourquoi : Sur mon site actuellement je met en avant un produit " le produit du mois " ...je gere cela manuellement et il n'utilise pas de module spécifique ..juste un module vierge ou je rentre le texte et fait la présentation moi meme ...

    Je me suis dis pourquoi ne pas utiliser le module random product et le bidouiller pour que la mise en place du "produit d mois " soit automatisée ...

    Actuellement la présentation d'un produit dans ce module ressemble d'origine a cela :


    Image 1

    J'aimerais juste bidouiller la présentation du produit pour que sa ressemble a cela :

    Image 2

    Je me suis dis pourquoi ne pas utiliser le code du flypage car au final c le resultat que je souhaiterais obtenir ( niveau présentation ) mais je dois faire fausse route ...

    Donc qu'est ce que je dois bidouiller... j'ai essayé de mettre le nez dans le code du fichier mod_virtuemart_randomprod.php mais rien de concluant je ne m'y retrouve pas et je n'arrive pas a comprendre comment il gere la présentation ...

    Pour vous donner une idée voici le code php de ce fichier :

    Code PHP:
    <?php
    defined
    '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' ); 
    /* Random Products Module
    *
    * @version $Id: mod_virtuemart_randomprod.php,v 1.4 2005/11/24 19:18:49 soeren_nb Exp $
    * @package VirtueMart
    * @subpackage modules
    * @copyright (C) Mr PHP
    // W: www.mrphp.com.au
    // E: info@mrphp.com.au
    // P: +61 418 436 690
    * Conversion to Mambo and the rest:
    *     @copyright (C) 2004-2005 Soeren Eberhardt
    *
    * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL
    * VirtueMart is Free Software.
    * VirtueMart comes with absolute no warranty.
    *
    * www.virtuemart.net
    */
    global $mosConfig_absolute_path;

    /* Load the virtuemart main parse code */
    require_once( $mosConfig_absolute_path.'/components/com_virtuemart/virtuemart_parser.php' );

    if( empty(
    $max_items))
      
    $max_items $params->get'max_items'); //maximum number of items to display
    if( empty($category_id))
      
    $category_id $params->get'category_id'null ); // Display products from this category only
    if( empty($display_style))
      
    $display_style $params->get'display_style'"vertical" ); // Display Style
    if( empty($products_per_row))
      
    $products_per_row $params->get'products_per_row'); // Display X products per Row
    if( empty($show_price))
      
    $show_price = (bool)$params->get'show_price'); // Display the Product Price?
    if( empty($show_addtocart))
      
    $show_addtocart = (bool)$params->get'show_addtocart'); // Display the "Add-to-Cart" Link?

    require_once( CLASSPATH'ps_product.php');
    $ps_product = new ps_product;
    $db=new ps_DB;
    if ( 
    $category_id ) {
        
    $q  "SELECT DISTINCT product_sku FROM #__{vm}_product, #__{vm}_product_category_xref, #__{vm}_category WHERE ";
        
    $q .= "product_parent_id=''";
        
    $q .= "AND #__{vm}_product.product_id=#__{vm}_product_category_xref.product_id ";
        
    $q .= "AND #__{vm}_category.category_id=#__{vm}_product_category_xref.category_id ";
        
    $q .= "AND #__{vm}_category.category_id='$category_id'";
        
    $q .= "AND #__{vm}_product.product_publish='Y' ";
        if( 
    CHECK_STOCK && PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS != "1") {
            
    $q .= " AND product_in_stock > 0 ";
        }
      
    $q .= "ORDER BY product_name DESC";
    }
    else {
        
    $q  "SELECT DISTINCT product_sku FROM #__{vm}_product WHERE ";
        
    $q .= "product_parent_id='' AND vendor_id='".$_SESSION['ps_vendor_id']."' ";
        
    $q .= "AND #__{vm}_product.product_publish='Y' ";
        if( 
    CHECK_STOCK && PSHOP_SHOW_OUT_OF_STOCK_PRODUCTS != "1") {
            
    $q .= " AND product_in_stock > 0 ";
        }
        
    $q .= "ORDER BY product_name DESC";
    }
    $db->query($q);

    $i=0;
    while(
    $db->next_record()){
      
    $prodlist[$i]=$db->f("product_sku");
      
    $i++;
    }

    if(
    $db->num_rows() > 0) { ?>
      <table border="0" cellpadding="0" cellspacing="0" width="100%">
        <?php

        srand 
    ((double) microtime() * 10000000);
        
        if (
    sizeof($prodlist) < $max_items) {
            
    $max_items sizeof($prodlist);
        }
        if (
    sizeof($prodlist)>1) {
            
    $rand_prods array_rand ($prodlist$max_items);
        }
          else {
              
    $rand_prods rand (4545.3545$max_items);
          }
        
          if (
    $max_items==1) { ?>
            <tr align="center" class="sectiontableentry1">
              <td><?php
                $ps_product
    ->show_snapshot($prodlist[$rand_prods], $show_price$show_addtocart);
                
    ?><br />
                </td>
              </tr><?php
          
    }
          
          else { 
            for(
    $i=0$i<$max_items$i++) {
              if (
    $i%2)
                  
    $sectioncolor "sectiontableentry2";
              else
                  
    $sectioncolor "sectiontableentry1";
                  
              if( 
    $display_style == "vertical" ) {
              
    ?>
                <tr align="center" class="<?php echo $sectioncolor ?>">
                  <td><?php $ps_product->show_snapshot($prodlist[$rand_prods[$i]], $show_price$show_addtocart); ?><br /></td>
                </tr>
    <?php
              
    }
              elseif( 
    $display_style== "horizontal" ) {
                if( 
    $i == )
                  echo 
    "<tr>\n";
                echo 
    "<td align=\"center\">";
                
    $ps_product->show_snapshot($prodlist[$rand_prods[$i]], $show_price$show_addtocart);
                echo 
    "</td>\n";
                if( (
    $i+1) == $max_items )
                  echo 
    "</tr>\n";
              }
              elseif( 
    $display_style== "table" ) {
                if( 
    $i == )
                  echo 
    "<tr>\n";
                echo 
    "<td align=\"center\">";
                
    $ps_product->show_snapshot($prodlist[$rand_prods[$i]], $show_price$show_addtocart);
                echo 
    "</td>\n";
                if ( (
    $i+1) % $products_per_row == 0)
                  echo 
    "</tr><tr>\n";
                if( (
    $i+1) == $max_items )
                  echo 
    "</tr>\n";
              }
            }
          }
            
    ?>
      </table>
        <?php
        
    }

    ?>
    Je suis prenneur de toutes idées ...

    Merci d'avance ...

    Thibault
    Fichiers joints
    Dernière édition par tibo33 à 25/06/2007, 19h59

  • #2
    présentation des produits du module random products

    Salut,

    j'ai exactement le même besoin que toi je pense,
    je voudrais que la présentation des produits du module random products
    soit identique à la présentation des produits dans les pages de ma boutique.

    As-tu trouvé la solution ?
    Je cherche depuis un bon moment, et je n'ai trouvé que ce post sur ce forum...

    Merci d'avance pour ta réponse
    Dernière édition par Shapes à 06/08/2008, 13h20

    Commentaire

    Annonce

    Réduire
    1 sur 2 < >

    C'est [Réglé] et on n'en parle plus ?

    A quoi ça sert ?
    La mention [Réglé] permet aux visiteurs d'identifier rapidement les messages qui ont trouvé une solution.

    Merci donc d'utiliser cette fonctionnalité afin de faciliter la navigation et la recherche d'informations de tous sur le forum.

    Si vous deviez oublier de porter cette mention, nous nous permettrons de le faire à votre place... mais seulement une fois
    Comment ajouter la mention [Réglé] à votre discussion ?
    1 - Aller sur votre discussion et éditer votre premier message :


    2 - Cliquer sur la liste déroulante Préfixe.

    3 - Choisir le préfixe [Réglé].


    4 - Et voilà… votre discussion est désormais identifiée comme réglée.

    2 sur 2 < >

    Assistance au forum - Outil de publication d'infos de votre site

    Compatibilité: PHP 4.1,PHP4, 5, 6DEV MySQL 3.2 - 5.5 MySQLi from 4.1 ( @ >=PHP 4.4.9)

    Support Version de Joomla! : | J!3.0 | J!2.5.xx | J!1.7.xx | J!1.6.xx | J1.5.xx | J!1.0.xx |

    Version française (FR) D'autres versions sont disponibles depuis la version originale de FPA

    UTILISER À VOS PROPRES RISQUES :
    L'exactitude et l'exhaustivité de ce script ainsi que la documentation ne sont pas garanties et aucune responsabilité ne sera acceptée pour tout dommage, questions ou confusion provoquée par l'utilisation de ce script.

    Problèmes connus :
    FPA n'est actuellement pas compatible avec des sites Joomla qui ont eu leur fichier configuration.php déplacé en dehors du répertoire public_html.

    Installation :

    1. Téléchargez l'archive souhaitée : http://afuj.github.io/FPA/

    Archive zip : https://github.com/AFUJ/FPA/zipball/master

    2. Décompressez le fichier de package téléchargé sur votre propre ordinateur (à l'aide de WinZip ou d'un outil de décompression natif).

    3. Lisez le fichier LISEZMOI inclus pour toutes les notes de versions spécifiques.

    4. LIRE le fichier de documentation inclus pour obtenir des instructions d'utilisation détaillées.

    5. Téléchargez le script fpa-fr.php à la racine de votre site Joomla!. C'est l'endroit que vous avez installé Joomla et ce n'est pas la racine principale de votre serveur. Voir les exemples ci-dessous.

    6. Exécutez le script via votre navigateur en tapant: http:// www. votresite .com/ fpa-fr.php
    et remplacer www. votresite .com par votre nom de domaine


    Exemples:
    Joomla! est installé dans votre répertoire web et vous avez installé la version française du fichier FPA:
    Télécharger le script fpa-fr.php dans: /public_html/
    Pour executer le script: http://www..com/fpa-fr.php

    Joomla! est installé dans un sous-répertoire nommé "cms" et vous avez installé la version française du fichier FPA:
    Télécharger le script fpa-fr.php dans: /public_html/cms/
    Pour executer le script: http://www..com/cms/fpa-fr.php

    En raison de la nature très sensible de l'information affichée par le script FPA, il doit être retiré immédiatement du serveur après son utilisation.

    Pour supprimer le script de votre site, utilisez le lien de script de suppression fourni en haut de la page du script. Si le lien de suppression échoue pour supprimer le script, utilisez votre programme FTP pour le supprimer manuellement ou changer le nom une fois que le script a généré les données du site et le message publié sur le forum. Si le script est toujours présent sur le site, il peut être utilisé pour recueillir suffisamment d'informations pour pirater votre site. Le retrait du script empêche des étrangers de l'utiliser pour jeter un oeil à la façon dont votre site est structuré et de détecter les défauts qui peuvent être utilisé à vos dépends.
    Voir plus
    Voir moins
    Travaille ...
    X