Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Sppc Causes Issues With New_products.php


racespec

Recommended Posts

Hey Guys

 

I am having a few issues at the moment with SPPC and New Products Listing at the bottom of the page

OLD NEW_PRODUCTS.PHP before SPPC looked like this

 

<?php
/*
 $Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $

 osCommerce, Open Source E-Commerce Solutions
 [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]

 Copyright © 2003 osCommerce

 Released under the GNU General Public License
*/
?>
<!-- new_products //-->
<table border="0" width="100%" cellspacing="0" cellpadding="0">
 <tr> 
   <?php 
     $titulo = sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')); 
     echo mws_header_main($titulo); 
       ?> 
         <td>
<?php
 $info_box_contents = array();
 $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')));

//  //    new contentBoxHeading($info_box_contents);

 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 p.products_date_added desc 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 p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);
 }

 $row = 0;
 $col = 0;
 $info_box_contents = array();
 while ($new_products = tep_db_fetch_array($new_products_query)) {
   $new_products['products_name'] = tep_get_products_name($new_products['products_id']);
$sql = 'SELECT `products_description` FROM `products_description` WHERE products_id ='.$new_products['products_id'].' && language_id='.(int)$languages_id;
$description_query = tep_db_query($sql);
$description = mysql_fetch_array($description_query, MYSQL_ASSOC);        
$description['products_description'] = substr($description['products_description'], 0, 150);
$desc_len = strlen($description['products_description']);
$description['products_description'][$desc_len-1] = '.';
$description['products_description'][$desc_len-2] = '.';
$description['products_description'][$desc_len-3] = '.';

$description['products_description'] = ereg_replace("(Array)", "", $description['products_description']);
   $info_box_contents[$row][$col] = array('align' => 'center',
                                          'params' => 'class="smallText" cellspacing="0" width="50%" valign="top"',
                                          'text' => '<table width="99%" border="0" cellspacing="0" cellpadding="0">
 <tr>
   <td align="right" valign="bottom" bordercolor="0"><img src="images/infobox_module/upper_left.gif" width="14" height="33" /></td>	
   <td colspan="2" background="images/infobox_module/top.gif" class=mws_boxTop_module><a class=productTitle href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . substr($new_products['products_name'], 0, 30) . '</a></td>
   <td align="left" valign="bottom"><img src="images/infobox_module/upper_right.gif" width="14" height="33" /></td>
 </tr>
 <tr>
   <td background="images/infobox_module/left.gif" width="14"> </td>
   <td align="center" class=mws_boxCenter_module><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $new_products['products_image'], $new_products['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a><br><br> <a href="' . tep_href_link(FILENAME_PRODUCTS_NEW). '">' . tep_image(DIR_WS_LANGUAGES . $language . '/images/buttons/new_.gif', IMAGE_NEW_PRODUCT). '</a> </td>
<td class=mws_boxCenter_module2>'. strip_tags($description['products_description']) . '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, "products_id=" . $new_products["products_id"]). '"><b>' . DESCR_READ_MORE . '</b></a><br><br><a href="' . tep_href_link(FILENAME_DEFAULT, tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $new_products['products_id']) . '">' . tep_image_button('cart_buy.gif', IMAGE_BUTTON_IN_CART) . '</a> <strong>' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])).'</strong></td>
   <td background="images/infobox_module/right.gif" class="smallText" width="14"><img src="images/infobox_module/right.gif" width="14" height="149" /></td>
 </tr>
 <tr>
   <td align="right" valign="top"><img src="images/infobox_module/lower_left.gif" width="14" height="12" /></td>
   <td colspan="2" background="images/infobox_module/bot.gif"><img src="images/infobox_module/bot.gif" width="2" height="12" /></td>
   <td align="left" valign="top" class="smallText"><img src="images/infobox_module/lower_right.gif" width="14" height="12" /></td>
 </tr>
</table><br>');

   $col ++;
   if ($col > 1) {
     $col = 0;
     $row ++;
   }
 }

 new noborderBox($info_box_contents);
?>
</td>
   <?php echo mws_footer(''); ?>
 </tr>
</table>
<!-- new_products_eof //-->

 

site_screenshot.jpg

 

NEW NEW_PRODUCTS.PHP CODE

 

<?php
/*
 $Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $
 adapted for Separate Pricing Per Customer v4.0 2005/01/26

 osCommerce, Open Source E-Commerce Solutions
 [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]

 Copyright © 2003 osCommerce

 Released under the GNU General Public License
*/
?>
<!-- new_products //-->
<table border="0" width="100%" cellspacing="0" cellpadding="0">
 <tr> 
   <?php 
     $titulo = sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')); 
     echo mws_header_main($titulo); 
       ?> 
         <td>
<?php
 $info_box_contents = array();
 $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B')));

//  //    new contentBoxHeading($info_box_contents);

 if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
   // BOF Separate Pricing per Customer
   $new_products_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, p.products_price as products_price from " . TABLE_PRODUCTS . " p where products_status = '1' order by p.products_date_added desc 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, p.products_price as products_price from " . TABLE_PRODUCTS . " p, " . 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 p.products_date_added desc 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 = 1 ; $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 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();

//  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']);

   $info_box_contents[$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 . $new_products[$x]['products_image'], $new_products[$x]['products_name'], SMALL_IMAGE_WIDTH, SMALL_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)
// EOF Separate Pricing per Customer
new contentBox($info_box_contents);
?>
</td>
   <?php echo mws_footer(''); ?>
 </tr>
</table>
<!-- new_products_eof //-->

 

New code reverts the display back to the original oscommerce default look, but the pricing changes depending on customer level logged in

 

Thanks

 

Tarek

RACESPEC

Link to comment
Share on other sites

I noticed you've mixed the header and footer codes for graphical borders.

 

I think the double border is because the Graphical border edits aren't quite right. At the end of the file, it should read like this:

 

  new noborderBox($info_box_contents);
?>
  </td>
<?php echo mws_footer_main(''); ?>
 </tr>
</table>
<!-- new_products_eof //-->

 

As far as the SPPC code problems, you might try the support forum for the contrib. HTH

Link to comment
Share on other sites

  • 2 weeks later...
I noticed you've mixed the header and footer codes for graphical borders.

 

I think the double border is because the Graphical border edits aren't quite right. At the end of the file, it should read like this:

 

  new noborderBox($info_box_contents);
?>
  </td>
<?php echo mws_footer_main(''); ?>
 </tr>
</table>
<!-- new_products_eof //-->

 

As far as the SPPC code problems, you might try the support forum for the contrib. HTH

 

Thanks

 

anyone else

 

Tarek

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...