osCmax v2.5 User Manual
Results 1 to 1 of 1

Replace New Products with Random Products on the index page

This is a discussion on Replace New Products with Random Products on the index page within the osCmax v2 Customization/Mods forums, part of the osCmax v2.0 Forums category; Hi, Based on an osCommerce contrib., this is (slightly) changed to cater for BTS. There will doubtless be a lot ...

      
  1. #1
    osCMax Development Team
    ridexbuilder's Avatar
    Join Date
    Jul 2008
    Location
    Haggisland
    Posts
    3,014
    Rep Power
    36


    Lightbulb Replace New Products with Random Products on the index page

    Hi,
    Based on an osCommerce contrib., this is (slightly) changed to cater for BTS.
    There will doubtless be a lot of extraneous code, due to the new file being based on new_products.php (just a quick 'n' dirty mod. ).
    [Unable to upload an attachment at present, so a long post - sorry].

    Create a new file includes/modules/random_products.php containing:
    PHP Code:
    <?php
    /*
    $Id: random_products.php 3 2009-04-08 09:04:07Z user $
    (dummy ident by EJ)

      osCMax Power E-Commerce
      http://oscdox.com

      Copyright 2008 osCMax

      Released under the GNU General Public License
    */
    ?>
    <!-- random products - ejsolutions.co.uk 2009 //-->
    <?php

    if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
    $new_products_query tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " TABLE_PRODUCTS " p left join " TABLE_SPECIALS " s on p.products_id = s.products_id where products_status = '1' order by rand() limit " MAX_DISPLAY_NEW_PRODUCTS);
    } else {
    $new_products_query tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " TABLE_PRODUCTS " p left join " TABLE_SPECIALS " s on p.products_id = s.products_id, " TABLE_PRODUCTS_TO_CATEGORIES " p2c, " TABLE_CATEGORIES " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . (int)$new_products_category_id "' and p.products_status = '1' order by rand() limit " MAX_DISPLAY_NEW_PRODUCTS);
    }
    // global variable (session) $sppc_customer_group_id -> local variable customer_group_id
      
    if(!tep_session_is_registered('sppc_customer_group_id')) { 
      
    $customer_group_id '0';
      } else {
       
    $customer_group_id $sppc_customer_group_id;
      }
      if ((
    $no_of_new_products tep_db_num_rows($new_products_query)) > 0) {
          while (
    $_new_products tep_db_fetch_array($new_products_query)) {
        
    $new_products[] = $_new_products;
        
    $list_of_prdct_ids[] = $_new_products['products_id'];
        } 
    $select_list_of_prdct_ids "products_id = '".$list_of_prdct_ids[0]."' ";
      if (
    $no_of_new_products 1) {
       for (
    $n $n count($list_of_prdct_ids) ; $n++) {
       
    $select_list_of_prdct_ids .= "or products_id = '".$list_of_prdct_ids[$n]."' ";   
       }
    }
    // get all customers_group_prices for products with the particular customer_group_id
    // however not necessary for customer_group_id = 0
    if ($customer_group_id != '0') {
      
    $pg_query tep_db_query("select pg.products_id, customers_group_price as price from " TABLE_PRODUCTS_GROUPS " pg where (".$select_list_of_prdct_ids.") and pg.customers_group_id = '".$customer_group_id."'");
        while (
    $pg_array tep_db_fetch_array($pg_query)) {
        
    $new_prices[] = array ('products_id' => $pg_array['products_id'], 'products_price' => $pg_array['price'], 'specials_new_products_price' => '');
        }
       for (
    $x 0$x $no_of_new_products$x++) {
    // replace products prices with those from customers_group table
            
    if(!empty($new_prices)) {
            for (
    $i 0$i count($new_prices); $i++) {
                if( 
    $new_products[$x]['products_id'] == $new_prices[$i]['products_id'] ) {
                
    $new_products[$x]['products_price'] = $new_prices[$i]['products_price'];
                }
            }
        } 
    // end if(!empty($new_prices)
       
    // end for ($x = 0; $x < $no_of_products_new; $x++)
    // end if ($customer_group_id != '0')
    // an extra query is needed for all the specials
        
    $specials_query tep_db_query("select products_id, specials_new_products_price from " TABLE_SPECIALS " where (".$select_list_of_prdct_ids.") and status = '1' and customers_group_id = '" .$customer_group_id"' ");
        while (
    $specials_array tep_db_fetch_array($specials_query)) {
        
    $new_s_prices[] = array ('products_id' => $specials_array['products_id'], 'specials_new_products_price' => $specials_array['specials_new_products_price']);
        }
    // replace products_price with the correct specials_new_products_price
    if(!empty($new_s_prices)) {
        for (
    $x 0$x $no_of_new_products$x++) { 
            for (
    $i 0$i count($new_s_prices); $i++) {
                if( 
    $new_products[$x]['products_id'] == $new_s_prices[$i]['products_id'] ) {
                
    $new_products[$x]['products_price'] = $new_s_prices[$i]['specials_new_products_price'];
                }
               }
           } 
        } 
    // // end if(!empty($new_s_prices)
      
    $row 0;
      
    $col 0;
    //  $info_box_contents = array();
      
    $box_content = array();
    //  while ($new_products = tep_db_fetch_array($new_products_query)) {
        
    for ($x 0$x $no_of_new_products$x++) {
        
    $new_products[$x]['products_name'] = tep_get_products_name($new_products[$x]['products_id']);
        
    $box_content[$row][$col] = array('align' => 'center',
                                               
    'params' => 'class="smallText" width="33%" valign="top"',
                                               
    'text' => '<a href="' tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products[$x]['products_id']) . '">' tep_image(DIR_WS_IMAGES DYNAMIC_MOPICS_THUMBS_DIR $new_products[$x]['products_image'], $new_products[$x]['products_name'], SMALL_IMAGE_WIDTHSMALL_IMAGE_HEIGHT) . '</a><br><a href="' tep_href_link(FILENAME_PRODUCT_INFO'products_id=' $new_products[$x]['products_id']) . '">' $new_products[$x]['products_name'] . '</a><br>' $currencies->display_price($new_products[$x]['products_price'], tep_get_tax_rate($new_products[$x]['products_tax_class_id'])));
        
    $col ++;
        if (
    $col 2) {
          
    $col 0;
          
    $row ++;
        }
       } 
    // end for ($x = 0; $x < $no_of_new_products; $x++)
     
    //  end if (($no_of_new_products = tep_db_num_rows($new_products_query)) > 0)
      
    new contentBox($box_content);
    // EOF: MOD - Separate Pricing per Customer
    ?>
    <!-- random products_eof //-->
    Edit templates/fallback/content/index_default.tpl.php or templates/yourtemplate/content/index_default.tpl.php
    Line 45:
    PHP Code:
    <td><br><?php include(DIR_WS_MODULES FILENAME_NEW_PRODUCTS); ?></td>
    Change to:
    PHP Code:
    <td><br><?php include(DIR_WS_MODULES 'random_products.php'); ?></td>
    Enjoy

    EJ
    Please note that there is an alternative:
    New Products Project
    Last edited by ridexbuilder; 04-28-2009 at 01:16 AM. Reason: link to a similar thread
    Hosting plans with installation, configuration, contributions, support and maintenance.

Similar Threads

  1. need products to display on products.php not index.php, products not displaying below
    By libraschld in forum osCommerce 2.2 Modification Help
    Replies: 0
    Last Post: 09-20-2008, 02:40 AM
  2. New Products On Index Page On/Off Setting
    By michael_s in forum New osCommerce Contributions
    Replies: 0
    Last Post: 06-30-2008, 09:30 AM
  3. Random Products
    By michael_s in forum New osCommerce Contributions
    Replies: 0
    Last Post: 03-31-2008, 02:12 PM
  4. Several Random Products
    By michael_s in forum New osCommerce Contributions
    Replies: 0
    Last Post: 04-25-2007, 09:40 AM
  5. The catalog(products) on a another page than the index.php ?
    By doumawis in forum osCommerce 2.2 Modification Help
    Replies: 4
    Last Post: 02-21-2005, 08:21 AM

Tags for this Thread

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •