Brollox Posted May 6, 2009 Share Posted May 6, 2009 Hi Guys 1) The prices displayed in the general category listings are always the standard retail price. However, when I select a product (signed in as a test customer) I see the actual price assigned to the group. Many Thanks Tim See? Same problem Quote Link to comment Share on other sites More sharing options...
eyal_barouk Posted May 7, 2009 Share Posted May 7, 2009 See? Same problem I would love to be able to combine it with the printable catalog, which now shows only retail prices, no matter which customer group is logged in. I would like to use the printable catalog for the convenience of our sales team, so they can login as the customer/group and have his catalog ready to print or mail with the groups prices. Thank you so much, Eyal Quote Eyal How About an Open Source Car? Link to comment Share on other sites More sharing options...
mrgreg Posted May 8, 2009 Share Posted May 8, 2009 Hi Greg You hit the mark with the agitation level thing :blush: Feels like I opened a tin of flipping worms here. anyway thanks for the patiens. Unfortunately our site is modified a great deal so my attempts to compare with the original files didn't amount to much. Looking back at the code I posted and the comments made on that I did find that there are indeed six sections of code regarding SPPC added to index.php which is completely absent in 2.2rc2a's index.php which i downloaded so what do I compare to? Jan Mentioned somewhere that there is a B2B version with sppc already built in maybe I should get hold of that. Anybody knows where? Hmmm... Silly question: Where exactly on your index page are the incorrect prices showing up? Inherently the source of these prices would be in boxes I think. Column presentations then would be drilled into via these boxes. Is it possible that what you are referring to on the index page is actually a box of sorts pulling stuff in, appearing as being 'the index' page? Perhaps you should post your index page here (for starters). Then perhaps better understanding and direction can be provided. Bear in mind, I am a noob. But perhaps myself or someone else will recognize a potential issue... Quote Link to comment Share on other sites More sharing options...
Brollox Posted May 11, 2009 Share Posted May 11, 2009 <?php /* $Id: index.php,v 1.1 2003/06/11 17:37:59 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ require('includes/application_top.php'); // BOF Separate Pricing Per Customer if (isset($_SESSION['sppc_customer_group_id']) && $_SESSION['sppc_customer_group_id'] != '0') { $customer_group_id = $_SESSION['sppc_customer_group_id']; } else { $customer_group_id = '0'; } // EOF Separate Pricing Per Customer // the following cPath references come from application_top.php $category_depth = 'top'; if (isset($cPath) && tep_not_null($cPath)) { $categories_products_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_TO_CATEGORIES . " where categories_id = '" . (int)$current_category_id . "'"); $cateqories_products = tep_db_fetch_array($categories_products_query); if ($cateqories_products['total'] > 0) { $category_depth = 'products'; // display products } else { $category_parent_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " where parent_id = '" . (int)$current_category_id . "'"); $category_parent = tep_db_fetch_array($category_parent_query); if ($category_parent['total'] > 0) { $category_depth = 'nested'; // navigate through the categories } else { $category_depth = 'products'; // category has no products, but display the 'no products' message } } } require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_DEFAULT); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <?php // BOF: Header Tag Controller if ( file_exists(DIR_WS_INCLUDES . 'header_tags.php') ) { require(DIR_WS_INCLUDES . 'header_tags.php'); } else { ?> <title><?php echo TITLE; ?></title> <?php } // EOF: Header Tag Controller ?> <base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>"> <link rel="stylesheet" type="text/css" href="stylesheet.css"> </head> <body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0"> <div align="center"> <table width="1018" border="0" cellpadding="0" cellspacing="0" bgcolor="#FFFFFF"> <tr valign="top"> <td><div align="center"> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <table border="0" width="1012" cellspacing="0" cellpadding="0" align="center" class="maincont_tb"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top" class="maincont_left_td"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="0" class="leftbar_tb"> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> </table></td> <?php if ($category_depth == 'nested') { $category_query = tep_db_query("select cd.categories_name, c.categories_image, cd.categories_htc_title_tag, cd.categories_htc_description from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . (int)$current_category_id . "' and cd.categories_id = '" . (int)$current_category_id . "' and cd.language_id = '" . (int)$languages_id . "'"); ?> <td width="100%" valign="top" class="maincont_mid_td"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><h1><?php echo $category['categories_htc_title_tag']; ?></h1></td> <td class="pageHeading" align="right"></td> </tr> <?php if (tep_not_null($category['categories_htc_description'])) { ?> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><h2><?php echo $category['categories_htc_description']; ?></h2></td> </tr> <?php } ?> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <?php if (isset($cPath) && strpos('_', $cPath)) { // check to see if there are deeper categories within the current category $category_links = array_reverse($cPath_array); for($i=0, $n=sizeof($category_links); $i<$n; $i++) { $categories_query = tep_db_query("select count(*) as total from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "'"); $categories = tep_db_fetch_array($categories_query); if ($categories['total'] < 1) { // do nothing, go through the loop } else { $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$category_links[$i] . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name"); break; // we've found the deepest category the customer is in } } } else { $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.categories_image, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$current_category_id . "' and c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' order by sort_order, cd.categories_name"); } $number_of_categories = tep_db_num_rows($categories_query); $rows = 0; while ($categories = tep_db_fetch_array($categories_query)) { $rows++; $cPath_new = tep_get_path($categories['categories_id']); $width = (int)(100 / MAX_DISPLAY_CATEGORIES_PER_ROW) . '%'; echo ' <td align="center" class="smallText" width="' . $width . '" valign="top"><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">' . tep_image(DIR_WS_IMAGES . $categories['categories_image'], $categories['categories_name'], SUBCATEGORY_IMAGE_WIDTH, SUBCATEGORY_IMAGE_HEIGHT) . '<br>' . $categories['categories_name'] . '</a></td>' . "\n"; if ((($rows / MAX_DISPLAY_CATEGORIES_PER_ROW) == floor($rows / MAX_DISPLAY_CATEGORIES_PER_ROW)) && ($rows != $number_of_categories)) { echo ' </tr>' . "\n"; echo ' <tr>' . "\n"; } } // needed for the new products module shown below $new_products_category_id = $current_category_id; ?> </tr> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><?php include(DIR_WS_MODULES . FILENAME_FEATURED); ?></td> </tr> </table></td> </tr> </table></td> <?php } elseif ($category_depth == 'products' || isset($HTTP_GET_VARS['manufacturers_id'])) { // create column list $define_list = array('PRODUCT_LIST_MODEL' => PRODUCT_LIST_MODEL, 'PRODUCT_LIST_NAME' => PRODUCT_LIST_NAME, 'PRODUCT_LIST_MANUFACTURER' => PRODUCT_LIST_MANUFACTURER, 'PRODUCT_LIST_PRICE' => PRODUCT_LIST_PRICE, 'PRODUCT_LIST_QUANTITY' => PRODUCT_LIST_QUANTITY, 'PRODUCT_LIST_WEIGHT' => PRODUCT_LIST_WEIGHT, 'PRODUCT_LIST_IMAGE' => PRODUCT_LIST_IMAGE, 'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW); asort($define_list); $column_list = array(); reset($define_list); while (list($key, $value) = each($define_list)) { if ($value > 0) $column_list[] = $key; } // BOF Separate Pricing Per Customer // this will build the table with specials prices for the retail group or update it if needed // this function should have been added to includes/functions/database.php if ($customer_group_id == '0') { tep_db_check_age_specials_retail_table(); } $status_product_prices_table = false; $status_need_to_get_prices = false; // find out if sorting by price has been requested if ( (isset($HTTP_GET_VARS['sort'])) && (ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) && (substr($HTTP_GET_VARS['sort'], 0, 1) <= sizeof($column_list)) && $customer_group_id != '0' ){ $_sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1); if ($column_list[$_sort_col-1] == 'PRODUCT_LIST_PRICE') { $status_need_to_get_prices = true; } } if ($status_need_to_get_prices == true && $customer_group_id != '0') { $product_prices_table = TABLE_PRODUCTS_GROUP_PRICES.$customer_group_id; // the table with product prices for a particular customer group is re-built only a number of times per hour // (setting in /includes/database_tables.php called MAXIMUM_DELAY_UPDATE_PG_PRICES_TABLE, in minutes) // to trigger the update the next function is called (new function that should have been // added to includes/functions/database.php) tep_db_check_age_products_group_prices_cg_table($customer_group_id); $status_product_prices_table = true; } // end if ($status_need_to_get_prices == true && $customer_group_id != '0') // EOF Separate Pricing Per Customer $select_column_list = ''; for ($i=0, $n=sizeof($column_list); $i<$n; $i++) { switch ($column_list[$i]) { case 'PRODUCT_LIST_MODEL': $select_column_list .= 'p.products_model, '; break; case 'PRODUCT_LIST_NAME': $select_column_list .= 'pd.products_name, '; break; case 'PRODUCT_LIST_MANUFACTURER': $select_column_list .= 'm.manufacturers_name, '; break; case 'PRODUCT_LIST_QUANTITY': $select_column_list .= 'p.products_quantity, '; break; case 'PRODUCT_LIST_IMAGE': $select_column_list .= 'p.products_image, '; break; case 'PRODUCT_LIST_WEIGHT': $select_column_list .= 'p.products_weight, '; break; } } // show the products of a specified manufacturer if (isset($HTTP_GET_VARS['manufacturers_id'])) { if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) { // We are asked to show only a specific category // BOF Separate Pricing Per Customer if ($status_product_prices_table == true) { // ok in mysql 5 $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd , " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'"; } else { // either retail or no need to get correct special prices -- changed for mysql 5 $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS_RETAIL_PRICES . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "'"; } // end else { // either retail... // EOF Separate Pricing Per Customer } else { // We show them all // BOF Separate Pricing Per Customer if ($status_product_prices_table == true) { // ok in mysql 5 $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'"; } else { // either retail or no need to get correct special prices -- changed for mysql 5 $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS_RETAIL_PRICES . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'"; } // end else { // either retail... // EOF Separate Pricing Per Customer } } else { // show the products in a given categorie if (isset($HTTP_GET_VARS['filter_id']) && tep_not_null($HTTP_GET_VARS['filter_id'])) { // We are asked to show only specific catgeory; // BOF Separate Pricing Per Customer if ($status_product_prices_table == true) { // ok for mysql 5 $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS . " p left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } else { // either retail or no need to get correct special prices -- ok in mysql 5 $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS_RETAIL_PRICES . " s using(products_id) where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . (int)$HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } // end else { // either retail... // EOF Separate Pricing Per Customer } else { // We show them all // BOF Separate Pricing Per Customer --last query changed for mysql 5 compatibility if ($status_product_prices_table == true) { // original, no need to change for mysql 5 $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, tmp_pp.products_price, p.products_tax_class_id, IF(tmp_pp.status, tmp_pp.specials_new_products_price, NULL) as specials_new_products_price, IF(tmp_pp.status, tmp_pp.specials_new_products_price, tmp_pp.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . $product_prices_table . " as tmp_pp using(products_id), " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } else { // either retail or no need to get correct special prices -- changed for mysql 5 $listing_sql = "select " . $select_column_list . " p.products_id, p.manufacturers_id, p.products_price, p.products_tax_class_id, IF(s.status, s.specials_new_products_price, NULL) as specials_new_products_price, IF(s.status, s.specials_new_products_price, p.products_price) as final_price from " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p left join " . TABLE_MANUFACTURERS . " m on p.manufacturers_id = m.manufacturers_id left join " . TABLE_SPECIALS_RETAIL_PRICES . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . (int)$languages_id . "' and p2c.categories_id = '" . (int)$current_category_id . "'"; } // end else { // either retail... // EOF Separate Pricing per Customer } } if ( (!isset($HTTP_GET_VARS['sort'])) || (!ereg('^[1-8][ad]$', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'], 0, 1) > sizeof($column_list)) ) { for ($i=0, $n=sizeof($column_list); $i<$n; $i++) { if ($column_list[$i] == 'PRODUCT_LIST_NAME') { $HTTP_GET_VARS['sort'] = $i+1 . 'a'; $listing_sql .= " order by pd.products_name"; break; } } } else { $sort_col = substr($HTTP_GET_VARS['sort'], 0 , 1); $sort_order = substr($HTTP_GET_VARS['sort'], 1); switch ($column_list[$sort_col-1]) { case 'PRODUCT_LIST_MODEL': $listing_sql .= " order by p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_NAME': $listing_sql .= " order by pd.products_name " . ($sort_order == 'd' ? 'desc' : ''); break; case 'PRODUCT_LIST_MANUFACTURER': $listing_sql .= " order by m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_QUANTITY': $listing_sql .= " order by p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_IMAGE': $listing_sql .= " order by pd.products_name"; break; case 'PRODUCT_LIST_WEIGHT': $listing_sql .= " order by p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_PRICE': $listing_sql .= " order by final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; } } if (isset($HTTP_GET_VARS['manufacturers_id'])) $db_query = tep_db_query("select manufacturers_htc_title_tag as htc_title, manufacturers_htc_description as htc_description from " . TABLE_MANUFACTURERS_INFO . " where languages_id = '" . (int)$languages_id . "' and manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'"); else $db_query = tep_db_query("select categories_htc_title_tag as htc_title, categories_htc_description as htc_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$current_category_id . "' and language_id = '" . (int)$languages_id . "'"); $htc = tep_db_fetch_array($db_query); ?> <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td><h1><?php echo $htc['htc_title']; ?></h1></td> <?php // optional Product List Filter if (PRODUCT_LIST_FILTER > 0) { if (isset($HTTP_GET_VARS['manufacturers_id'])) { $filterlist_sql = "select distinct c.categories_id as id, cd.categories_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where p.products_status = '1' and p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and p2c.categories_id = cd.categories_id and cd.language_id = '" . (int)$languages_id . "' and p.manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "' order by cd.categories_name"; } else { $filterlist_sql= "select distinct m.manufacturers_id as id, m.manufacturers_name as name from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_MANUFACTURERS . " m where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and p.products_id = p2c.products_id and p2c.categories_id = '" . (int)$current_category_id . "' order by m.manufacturers_name"; } $filterlist_query = tep_db_query($filterlist_sql); if (tep_db_num_rows($filterlist_query) > 1) { echo ' <td align="center" class="main">' . tep_draw_form('filter', FILENAME_DEFAULT, 'get') . TEXT_SHOW . ' '; if (isset($HTTP_GET_VARS['manufacturers_id'])) { echo tep_draw_hidden_field('manufacturers_id', $HTTP_GET_VARS['manufacturers_id']); $options = array(array('id' => '', 'text' => TEXT_ALL_CATEGORIES)); } else { echo tep_draw_hidden_field('cPath', $cPath); $options = array(array('id' => '', 'text' => TEXT_ALL_MANUFACTURERS)); } echo tep_draw_hidden_field('sort', $HTTP_GET_VARS['sort']); while ($filterlist = tep_db_fetch_array($filterlist_query)) { $options[] = array('id' => $filterlist['id'], 'text' => $filterlist['name']); } echo tep_draw_pull_down_menu('filter_id', $options, (isset($HTTP_GET_VARS['filter_id']) ? $HTTP_GET_VARS['filter_id'] : ''), 'onchange="this.form.submit()"'); echo tep_hide_session_id() . '</form></td>' . "\n"; } } ?> </tr> <?php if (tep_not_null($htc['htc_description'])) { ?> <tr> <td colspan="2" class="main"><?php echo $htc['htc_description']; ?></td> </tr> <?php } ?> </table></td> </tr> <tr> <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td> </tr> <tr> <td><?php include(DIR_WS_MODULES . FILENAME_PRODUCT_LISTING); ?></td> </tr> </table></td> <?php } else { // default page if (isset($HTTP_GET_VARS['manufacturers_id'])) $db_query = tep_db_query("select manufacturers_htc_title_tag as htc_title, manufacturers_htc_description as htc_description from " . TABLE_MANUFACTURERS_INFO . " where languages_id = '" . (int)$languages_id . "' and manufacturers_id = '" . (int)$HTTP_GET_VARS['manufacturers_id'] . "'"); else $db_query = tep_db_query("select categories_htc_title_tag as htc_title, categories_htc_description as htc_description from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$current_category_id . "' and language_id = '" . (int)$languages_id . "'"); $htc = tep_db_fetch_array($db_query); ?> <td width="100%" valign="top" class="maincont_mid_td"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><h1><?php echo $htc['htc_title']; ?></h1></td> </tr> <tr> <td><br></td> </tr> </table></td> </tr> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td class="main"><?php echo TEXT_MAIN ?></td> </tr> <tr> <td><?php include(DIR_WS_MODULES . FILENAME_FEATURED); ?></td> </tr> <tr> <td><?php include(DIR_WS_MODULES . FILENAME_NEW_PRODUCTS); ?></td> </tr> <?php include(DIR_WS_MODULES . FILENAME_UPCOMING_PRODUCTS); ?> </table></td> </tr> </table></td> <?php } ?> <td width="<?php echo BOX_WIDTH; ?>" valign="top" class="maincont_right_td"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="0" class="rightbar_tb"> <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> </table></td> </tr> </table> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <br> </div> </td> </tr> </table> </div> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> Thanks Greg Much appeciated Quote Link to comment Share on other sites More sharing options...
Brollox Posted May 11, 2009 Share Posted May 11, 2009 (edited) In Laymans terms (my language) Before you login the store doesn't know who you are and must show retail prices, This is working correctly Now you login and the store know's you're a wholesale custosmer. Go to home page - it shows retail prices.......INCORRECT Click on any catagory to view the products within - it shows retail prices.........INCORRECT Click on a specific product - only now you see wholesale price.......CORRECT THe featured box, What's new box and Specials box is showing the correct price........CORRECT. Would it help to post the code for product_info.php to see where it gets it's price from? or even one of the boxes that does show the correct price? Edited May 11, 2009 by Brollox Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted May 11, 2009 Share Posted May 11, 2009 Would it help to post the code for product_info.php to see where it gets it's price from? or even one of the boxes that does show the correct price? Prices in categories are actually queried in includes/modules/product_listing. The queries on index.php are only to insure the correct order of prices is maintained when listing on price is chosen by the customer. Quote Link to comment Share on other sites More sharing options...
Brollox Posted May 12, 2009 Share Posted May 12, 2009 Prices in categories are actually queried in includes/modules/product_listing. The queries on index.php are only to insure the correct order of prices is maintained when listing on price is chosen by the customer. Hi Jan Thanks to W3C School and hobbles of luck I actually have it working now. Cost me half my hair though. Still dont have the foggiest how it really works but never mind. Thank you very much for your support and patiens. Quote Link to comment Share on other sites More sharing options...
mrgreg Posted May 12, 2009 Share Posted May 12, 2009 Hi Jan Thanks to W3C School and hobbles of luck I actually have it working now. Cost me half my hair though. Still dont have the foggiest how it really works but never mind. Thank you very much for your support and patiens. LOL b. I feel your pain. All part of learning. Not alone in your troubles, perhaps you should share your cure so that those that happen along behind you will have less hair to loose. Half is a lot. Perhaps it will take that number down to a quarter ;) Quote Link to comment Share on other sites More sharing options...
Max Paint Posted May 12, 2009 Share Posted May 12, 2009 Hi Jan Thanks to W3C School and hobbles of luck I actually have it working now. Cost me half my hair though. Still dont have the foggiest how it really works but never mind. Thank you very much for your support and patiens. Perhaps you like to share the changes you made in index.php with other that have the same mistake? :) Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted May 12, 2009 Share Posted May 12, 2009 Perhaps you like to share the changes you made in index.php with other that have the same mistake? :) Most likely there is no mistake but his site using a template. It can be tricky/not really straightforward to add the code for the group prices in there. Quote Link to comment Share on other sites More sharing options...
eyal_barouk Posted May 13, 2009 Share Posted May 13, 2009 (edited) Hi, I have installed SPPC 4.2.2 - it is working fine on all levels. but ever since that I have lost the visibility of the VAT tax attached to each product. I am stuck with this for a long time now and cannot figure it out. I went through everything and read several articals, but nothing. Please, can you help? I'm Desperate! Thank you for all the great work! Edited May 13, 2009 by eyal_barouk Quote Eyal How About an Open Source Car? Link to comment Share on other sites More sharing options...
suyash Posted May 14, 2009 Share Posted May 14, 2009 Hello, I want to install Referral Point System module to my osc but before that i have already installed http://addons.oscommerce.com/info/3220 ## POINTS AND REWARDS MODULE V1.00 ## module. Is it possible to install this module with the existing points & rewards module..? I cant overwrite all the files contained in Referral Point System module folder. Please help me to go through proper procedure and steps. Thank you waiting for your response Quote Link to comment Share on other sites More sharing options...
vmf08034 Posted May 14, 2009 Share Posted May 14, 2009 Prices in categories are actually queried in includes/modules/product_listing. The queries on index.php are only to insure the correct order of prices is maintained when listing on price is chosen by the customer. Problem in product listing, After installing product listing multiple(units to add to cart by line) I get the wholesaler prices as 0,00 until I press the header of wholesaler prices. I mean when i make it sort by wholesaler price it shows the prices, if i then I sort by whatever..retail price, for instance, wholesaler prices show again as 0.00 Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted May 14, 2009 Share Posted May 14, 2009 I have installed SPPC 4.2.2 - it is working fine on all levels. but ever since that I have lost the visibility of the VAT tax attached to each product. Did you check the settings for customer groups in the admin? There are settings for "show tax" per customer group in there. Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted May 14, 2009 Share Posted May 14, 2009 Hello, I want to install Referral Point System module to my osc but before that i have already installed http://addons.oscommerce.com/info/3220 ## POINTS AND REWARDS MODULE V1.00 ## module. Is it possible to install this module with the existing points & rewards module..? This is a thread on SPPC (Separate Pricing Per Customer). Why do you think the people who read/post in this particular thread would have any knowledge on referral systems? :blink: Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted May 14, 2009 Share Posted May 14, 2009 Problem in product listing, After installing product listing multiple(units to add to cart by line) I get the wholesaler prices as 0,00 until I press the header of wholesaler prices. I mean when i make it sort by wholesaler price it shows the prices, if i then I sort by whatever..retail price, for instance, wholesaler prices show again as 0.00 So there is obviously a coding problem in there. I think it might be line 124-136 :) Quote Link to comment Share on other sites More sharing options...
vmf08034 Posted May 16, 2009 Share Posted May 16, 2009 So there is obviously a coding problem in there. I think it might be line 124-136 :) I think the problem is in the list price section, but i am totally unable to find the cause, I have been trying for 3 days..... :blink: case 'PRODUCT_LIST_RETAIL_PRICE': $lc_align = 'right'; if ((tep_not_null($listing['products_retail_price'])) && ($listing['products_retail_price']) > 0) { $lc_text = '<font color="#55508a">' . $currencies->display_price($listing['products_retail_price'], tep_get_tax_rate($listing['products_tax_class_id'])); } else { $lc_text = ' '; } break; // End EZier New Fields added case 'PRODUCT_LIST_PRICE': $lc_align = 'center'; if (tep_not_null($listing['specials_new_products_price'])) { $lc_text = ' <div class="listPrice">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</div> <span class="productSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span> '; } else { $lc_text = ''. $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])); } break; Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted May 16, 2009 Share Posted May 16, 2009 I think the problem is in the list price section, but i am totally unable to find the cause, I have been trying for 3 days..... I am almost certain that the problem is you use $listing['db_field'] (e.g. $listing['products_retail_price']( instead of $listing[$x]['db_field'] in those parts. Quote Link to comment Share on other sites More sharing options...
vmf08034 Posted May 16, 2009 Share Posted May 16, 2009 (edited) I am almost certain that the problem is you use $listing['db_field'] (e.g. $listing['products_retail_price']( instead of $listing[$x]['db_field'] in those parts. The file i am using has following: while ($listing = tep_db_fetch_array($listing_query)) { instead of: for ($x = 0; $x < $no_of_listings; $x++) { so if I use the $X I get a blank screen And also it only happens with the wholesaler price column the rest are ok, if it wasa problem of the $x it would happen in all columns (?) :blink: Edited May 16, 2009 by vmf08034 Quote Link to comment Share on other sites More sharing options...
eyal_barouk Posted May 16, 2009 Share Posted May 16, 2009 Did you check the settings for customer groups in the admin? There are settings for "show tax" per customer group in there. Thank you for your answer Jan. What I did: 1. In Customer groups setting, edited the group and selected: "Set order total modules for the customer group" and checked all boxes. 2. I went to the customer details. In there I selected "Use settings from Configuration" for all modules. Still no luck. The tax still doesn't show. Quote Eyal How About an Open Source Car? Link to comment Share on other sites More sharing options...
Jan Zonjee Posted May 16, 2009 Share Posted May 16, 2009 The file i am using has following: while ($listing = tep_db_fetch_array($listing_query)) { instead of: for ($x = 0; $x < $no_of_listings; $x++) { The way SPPC works there is to first get the results of the query with the while ($listing = tep_db_fetch_array($listing_query)) { to get a list of product id's. The results from that query are stored in an array called $listing. Then using the product id's there are queries for customer group prices and special prices for groups and those are added/replaced in $listing. After all the information needed for that customer has been added to $listing we retrieve the results with the for loop going over the $listing array (for ($x = 0; $x < $no_of_listings; $x++) { If instead you retrieve the results of the query for a second time with the while loop then the group prices are not added so logically the wholesale price is zero. That you get any price in there is more amazing to me :) Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted May 16, 2009 Share Posted May 16, 2009 What I did:1. In Customer groups setting, edited the group and selected: "Set order total modules for the customer group" and checked all boxes. 2. I went to the customer details. In there I selected "Use settings from Configuration" for all modules. Still no luck. The tax still doesn't show. What have order total modules have to do with taxes? Settings for taxes are the very first part in editing settings for customer groups: Show prices with/without tax: This Setting only works when 'Display Prices with Tax' is set to true in the Configuration for your store and Tax Exempt (below) to 'No'. Tax Exempt: Quote Link to comment Share on other sites More sharing options...
vmf08034 Posted May 16, 2009 Share Posted May 16, 2009 The way SPPC works there is to first get the results of the query with the while ($listing = tep_db_fetch_array($listing_query)) { to get a list of product id's. The results from that query are stored in an array called $listing. Then using the product id's there are queries for customer group prices and special prices for groups and those are added/replaced in $listing.After all the information needed for that customer has been added to $listing we retrieve the results with the for loop going over the $listing array (for ($x = 0; $x < $no_of_listings; $x++) { If instead you retrieve the results of the query for a second time with the while loop then the group prices are not added so logically the wholesale price is zero. That you get any price in there is more amazing to me :) I will work on that But most of all THANK YOU..... Quote Link to comment Share on other sites More sharing options...
eyal_barouk Posted May 16, 2009 Share Posted May 16, 2009 What have order total modules have to do with taxes? Settings for taxes are the very first part in editing settings for customer groups: Show prices with/without tax: This Setting only works when 'Display Prices with Tax' is set to true in the Configuration for your store and Tax Exempt (below) to 'No'. Tax Exempt: I have "display prices with tax"=true on both store and customer group Group's tax exempts is set to false. And still it doesn't work - baffled. Quote Eyal How About an Open Source Car? Link to comment Share on other sites More sharing options...
vmf08034 Posted May 16, 2009 Share Posted May 16, 2009 I will work on that But most of all THANK YOU..... I am trying but.... can´t Is there a contribution for SPPC that adds a checkbox on the the product listing page to add the quantities to the cart? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.