Jan Zonjee Posted July 13, 2006 Share Posted July 13, 2006 It shows the buttons and if a customer group is selected it is ticked (i can only chose manually by phpmyadmin) if i then chose one or simple just update the page the hiden categorie settings are dropped. any clue? LOL :lol: The contribution is not even released yet and you already have a problem. :lol: Just kidding. From what you describe you can make the radio buttons ticked when you use phpMyAdmin to put in the @,0,1 (for example) and then if you go to the products page (categories.php) and change something it gets deleted. Logically speaking that should be blamed to the code that evaluates the hide_cat[] post variables and makes the string @,#,# out of it: // BOF Separate Pricing Per Customer, hide categories from groups $hide_cats_from_these_groups = '@,'; if ( $HTTP_POST_VARS['hide_cat'] ) { // if any of the checkboxes are checked foreach($HTTP_POST_VARS['hide_cat'] as $val) { $hide_cats_from_these_groups .= tep_db_prepare_input($val).','; } // end foreach $hide_cats_from_these_groups = substr($hide_cats_from_these_groups,0,strlen($hide_cats_from_these_groups)-1); // remove last comma } Somewhere in your code is it either in the wrong spot or not there at all? Quote Link to comment Share on other sites More sharing options...
Roger_Sweden Posted July 13, 2006 Share Posted July 13, 2006 Thank you JanZ! Worked perfectly :thumbsup: You?re my hero :D Quote Link to comment Share on other sites More sharing options...
beruska77 Posted July 14, 2006 Share Posted July 14, 2006 (edited) LOL :lol: The contribution is not even released yet and you already have a problem. :lol: Thank You!!!!!!!!!! I am trying to make it so i can edit it from admin. My code is case 'new_category': case 'edit_category': if (ALLOW_CATEGORY_DESCRIPTIONS == 'true') $HTTP_GET_VARS['action']=$HTTP_GET_VARS['action'] . '_ACD'; break; case 'insert_category': case 'update_category': if ( ($HTTP_POST_VARS['edit_x']) || ($HTTP_POST_VARS['edit_y']) ) { $HTTP_GET_VARS['action'] = 'edit_category_ACD'; } else { if (isset($HTTP_POST_VARS['categories_id'])) $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']); // BOF Separate Pricing Per Customer, hide categories from groups $hide_cats_from_these_groups = '@,'; if ( $HTTP_POST_VARS['hide_cat'] ) { // if any of the checkboxes are checked foreach($HTTP_POST_VARS['hide_cat'] as $val) { $hide_cats_from_these_groups .= tep_db_prepare_input($val).','; } // end foreach $hide_cats_from_these_groups = substr($hide_cats_from_these_groups,0,strlen($hide_cats_from_these_groups)-1); // remove last comma } if ($categories_id == '') { $categories_id = tep_db_prepare_input($HTTP_GET_VARS['cID']); } $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); $sql_data_array = array('sort_order' => $sort_order); if ($action == 'insert_category') { but it wont work! Beruska Edited July 14, 2006 by beruska77 Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted July 14, 2006 Share Posted July 14, 2006 but it wont work! $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); $sql_data_array = array('sort_order' => $sort_order); if ($action == 'insert_category') { Try changing that part to: $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); $sql_data_array = array('sort_order' => $sort_order, 'categories_hide_from_groups' => $hide_cats_from_these_groups); if ($action == 'insert_category') { Quote Link to comment Share on other sites More sharing options...
wvcrafted Posted July 14, 2006 Share Posted July 14, 2006 A simple version of this has been discussed before (see this post). If you would want to have it for every customer group I think it would be the easiest to have defines for every customer group made up of the MIN_ORDER_AMOUNT followed by the customer group id. You would need to change the line: if ($order->info['subtotal'] < MIN_ORDER_AMOUNT) { to: if ($order->info['subtotal'] < MIN_ORDER_AMOUNT . $customer_group_id ) { You might have to check if $customer_group_id is set as this point, or perhaps you can get away with it by using the same minimum order amount for the define MIN_ORDER_AMOUNT and MIN_ORDER_AMOUNT0. Then add the sql queries for each group: INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Minimum Order Amount for retail', 'MIN_ORDER_AMOUNT0', '', 'The minimum amount an order must total to be able to checkout. Empty means no minimum.', '1', '23', now()); INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Minimum Order Amount for Wholesale', 'MIN_ORDER_AMOUNT1', '', 'The minimum amount an order must total to be able to checkout. Empty means no minimum.', '1', '23', now()); I haven't tried this... :) I was wondering if anyone ever got this to work. This is just what I have been looking for. I can get it to work with either the Retail or wholesale price I set, but not both. I know nothing about coding so I'm no help. Doesn't this if ($order->info['subtotal'] < MIN_ORDER_AMOUNT . $customer_group_id ) { need to check both prices that are set in admin; 'MIN_ORDER_AMOUNT0' & 'MIN_ORDER_AMOUNT1'? Like I said, by changing MIN_ORDER_AMOUNT in this line if ($order->info['subtotal'] < MIN_ORDER_AMOUNT . $customer_group_id ) to either MIN_ORDER_AMOUNT0 or MIN_ORDER_AMOUNT1, It will check the price set for that group, but not both. Can anyone give my any help on what to do? Thanks in advance. Quote Link to comment Share on other sites More sharing options...
beruska77 Posted July 14, 2006 Share Posted July 14, 2006 Try changing that part to: $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); $sql_data_array = array('sort_order' => $sort_order, 'categories_hide_from_groups' => $hide_cats_from_these_groups); if ($action == 'insert_category') { thank you... allready try to but it still wont work :'( Beruska Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted July 14, 2006 Share Posted July 14, 2006 I was wondering if anyone ever got this to work. I guess not, cause I couldn't get it to work either. This however did the trick: if ($order->info['subtotal'] < constant(MIN_ORDER_AMOUNT . $_SESSION['sppc_customer_group_id'])) { Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted July 14, 2006 Share Posted July 14, 2006 allready try to but it still wont work :'( Well, maybe post a little bit more code after: if ($categories_id == '') { $categories_id = tep_db_prepare_input($HTTP_GET_VARS['cID']); } Somewhere the value for categories_hide_from_groups needs to be inserted in the database, and that is apparently not happening... Quote Link to comment Share on other sites More sharing options...
beruska77 Posted July 17, 2006 Share Posted July 17, 2006 Well, maybe post a little bit more code after: if ($categories_id == '') { $categories_id = tep_db_prepare_input($HTTP_GET_VARS['cID']); } Somewhere the value for categories_hide_from_groups needs to be inserted in the database, and that is apparently not happening... Thank you Janz, i past the whole case: // categorie description case 'new_category': case 'edit_category': if (ALLOW_CATEGORY_DESCRIPTIONS == 'true') $HTTP_GET_VARS['action']=$HTTP_GET_VARS['action'] . '_ACD'; break; case 'insert_category': case 'update_category': if ( ($HTTP_POST_VARS['edit_x']) || ($HTTP_POST_VARS['edit_y']) ) { $HTTP_GET_VARS['action'] = 'edit_category_ACD'; } else { if (isset($HTTP_POST_VARS['categories_id'])) $categories_id = tep_db_prepare_input($HTTP_POST_VARS['categories_id']); if ($categories_id == '') { $categories_id = tep_db_prepare_input($HTTP_GET_VARS['cID']); } // BOF Separate Pricing Per Customer, hide categories from groups $hide_cats_from_these_groups = '@,'; if ( $HTTP_POST_VARS['hide_cat'] ) { // if any of the checkboxes are checked foreach($HTTP_POST_VARS['hide_cat'] as $val) { $hide_cats_from_these_groups .= tep_db_prepare_input($val).','; } // end foreach } $hide_cats_from_these_groups = substr($hide_cats_from_these_groups,0,strlen($hide_cats_from_these_groups)-1); // remove last comma $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); $hide_cats_from_these_groups = '1'; $sql_data_array = array('sort_order' => $sort_order, 'categories_hide_from_groups' => $hide_cats_from_these_groups); // EOF Separate Pricing Per Customer, hide categories from groups if ($action == 'insert_category') { $insert_sql_data = array('parent_id' => $current_category_id, 'date_added' => 'now()'); $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform(TABLE_CATEGORIES, $sql_data_array); $categories_id = tep_db_insert_id(); } elseif ($action == 'update_category') { $update_sql_data = array('last_modified' => 'now()'); $sql_data_array = array_merge($sql_data_array, $update_sql_data); tep_db_perform(TABLE_CATEGORIES, $sql_data_array, 'update', "categories_id = '" . (int)$categories_id . "'"); } $languages = tep_get_languages(); for ($i=0, $n=sizeof($languages); $i<$n; $i++) { $categories_name_array = $HTTP_POST_VARS['categories_name']; $language_id = $languages[$i]['id']; $sql_data_array = array('categories_name' => tep_db_prepare_input($categories_name_array[$language_id])); // categorie description if (ALLOW_CATEGORY_DESCRIPTIONS == 'true') { $sql_data_array = array('categories_name' => tep_db_prepare_input($HTTP_POST_VARS['categories_name'][$language_id]), 'categories_heading_title' => tep_db_prepare_input($HTTP_POST_VARS['categories_heading_title'][$language_id]), 'categories_description' => tep_db_prepare_input($HTTP_POST_VARS['categories_description'][$language_id])); } // categorie description if ($action == 'insert_category') { $insert_sql_data = array('categories_id' => $categories_id, 'language_id' => $languages[$i]['id']); $sql_data_array = array_merge($sql_data_array, $insert_sql_data); tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array); } elseif ($action == 'update_category') { tep_db_perform(TABLE_CATEGORIES_DESCRIPTION, $sql_data_array, 'update', "categories_id = '" . (int)$categories_id . "' and language_id = '" . (int)$languages[$i]['id'] . "'"); } } // categorie description if (ALLOW_CATEGORY_DESCRIPTIONS == 'true') { tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = '" . $HTTP_POST_VARS['categories_image'] . "' where categories_id = '" . tep_db_input($categories_id) . "'"); $categories_image = ''; } else { if ($categories_image = new upload('categories_image', DIR_FS_CATALOG_IMAGES)) { tep_db_query("update " . TABLE_CATEGORIES . " set categories_image = '" . tep_db_input($categories_image->filename) . "' where categories_id = '" . (int)$categories_id . "'"); } } // categorie description // categorie picture overlib if (ALLOW_CATEGORY_DESCRIPTIONS == 'true') { tep_db_query("update " . TABLE_CATEGORIES . " set categories_image_popup = '" . $HTTP_POST_VARS['categories_image_popup'] . "' where categories_id = '" . tep_db_input($categories_id) . "'"); $categories_image = ''; } else { if ($categories_image = new upload('categories_image', DIR_FS_CATALOG_IMAGES)) { tep_db_query("update " . TABLE_CATEGORIES . " set categories_image_popup = '" . tep_db_input($categories_image_popup->filename) . "' where categories_id = '" . (int)$categories_id . "'"); } } // ?nd overlib if (USE_CACHE == 'true') { tep_reset_cache_block('categories'); tep_reset_cache_block('also_purchased'); } tep_redirect(tep_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . '&cID=' . $categories_id)); // categorie description } // categorie description break; Beruska CZ Quote Link to comment Share on other sites More sharing options...
kbking Posted July 17, 2006 Share Posted July 17, 2006 Hi! My catalog/includes/modules/new_products.php has been altered wrong. I get no error messages when I have subcategories and also some products in them, all seems to be fine then. But when I have subcategories and no products in them the Information Box with Shipping & Returns etc shows up in the New products area. Would you mind take a look at my catalog/includes/modules/new_products.php code to see if you can spot the wrongdoing that I've done. The code: <?php /* $Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ $temp_side = $side; $side = '_new'; ?> <!-- new_products //--> <TABLE border="0" width="100%" cellspacing="0" cellpadding="0"> <TR> <TD style="padding-left: 10px;"> <TABLE border="0" width="100%" cellspacing="0" cellpadding="0"> <TR> <TD style="border-top: 1px solid #D0D3D8; border-bottom: 1px solid #D0D3D8; padding-top: 10px; padding-bottom: 10px;"> <?php // $info_box_contents = array(); // $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B'))); // new contentBoxHeading($info_box_contents, $side); // 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 ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) { // BOF Separate Pricing per Customer, Hide products from groups mod $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' and find_in_set('".$customer_group_id."', products_hide_from_groups) = 0 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' and find_in_set('".$customer_group_id."', products_hide_from_groups) = 0 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; $nr = 1; $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']); if ($nr > 2) { $style = 'border-top: 1px solid #D0D3D8;'; } else { $style = ''; } // $new_products['products_name'] = tep_get_products_name($new_products['products_id']); $product_query = tep_db_query("select products_name, products_description from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . $new_products[$x]['products_id'] . "' and language_id = '" . $languages_id . "'"); $product_details = tep_db_fetch_array($product_query); $new_products[$x]['products_name'] = $product_details['products_name']; $new_products[$x]['products_description'] = substr ($product_details['products_description'],0,40); $info_box_contents[$row][$col] = array('align' => 'center', 'params' => 'class="smallText" style="' . $style . '" width="50%" 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> <TABLE border="0" width="100%" cellspacing="0" cellpadding="0"><TR><TD width="50%" valign="middle" class="smallText"><a class="newProdName" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products[$x]['products_id']) . '">' . $new_products[$x]['products_name'] . '</a><br>' . $new_products[$x]['products_description'] . '...</TD> '. tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product&products_id=' . $new_products['products_id'])).' <TD width="50%" align="right" valign="top" class="smallText"><SPAN class="newPrice">' . $currencies->display_price($new_products[$x]['products_price'], tep_get_tax_rate($new_products[$x]['products_tax_class_id'])) . ' </SPAN><br>'.tep_draw_hidden_field('products_id', $new_products[$x]['products_id']). tep_image_submit('button_add_cart.gif', IMAGE_BUTTON_IN_CART).'</TD> </FORM> </TR></TABLE>'); $nr ++; $col ++; if ($col > 1) { $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, $side); $side = $temp_side; ?> </TD> </TR> </TABLE> </TD> </TR> </TABLE> <!-- new_products_eof //--> Quote Link to comment Share on other sites More sharing options...
beruska77 Posted July 17, 2006 Share Posted July 17, 2006 hi Janz, i would like to add to my above post that $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); $hide_cats_from_these_groups = '1'; looks like $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); i droped the $hide_cats_from_these_groups = '1'; as it was only a test :-" Beruska CZ Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted July 17, 2006 Share Posted July 17, 2006 i would like to add to my above post that $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); $hide_cats_from_these_groups = '1'; looks like $sort_order = tep_db_prepare_input($HTTP_POST_VARS['sort_order']); i droped the $hide_cats_from_these_groups = '1'; as it was only a test :-" Should have been @,1 ;) Anyway, I found out in the end what contribution you are using Category Descriptions MS2 1.4 and after some considerable amount of time I think I know what happens. This contribution does a category preview (category.insert.txt) which stores all posted variables in hidden fields during the preview (just like when you edit products) however not if the posted variables are an array.... So if you look at the web page source when doing the categories preview you will not find anything concerning the hide category in the hidden fields. I suspect that if you change this piece in the part that is described in category.insert.txt: /* Re-Post all POST'ed variables */ reset($HTTP_POST_VARS); while (list($key, $value) = each($HTTP_POST_VARS)) { if (!is_array($HTTP_POST_VARS[$key])) { echo tep_draw_hidden_field($key, htmlspecialchars(stripslashes($value))); } } to: /* Re-Post all POST'ed variables */ reset($HTTP_POST_VARS); while (list($key, $value) = each($HTTP_POST_VARS)) { // if (!is_array($HTTP_POST_VARS[$key])) { // BOF Separate Pricing per Customer if (is_array($value)) { while (list($k, $v) = each($value)) { echo tep_draw_hidden_field($key . '[' . $k . ']', htmlspecialchars(stripslashes($v))); } } else { // EOF Separate Pricing per Customer echo tep_draw_hidden_field($key, htmlspecialchars(stripslashes($value))); } } you would find it back in the category preview and then it will be inserted. Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted July 17, 2006 Share Posted July 17, 2006 My catalog/includes/modules/new_products.php has been altered wrong. I get no error messages when I have subcategories and also some products in them, all seems to be fine then. But when I have subcategories and no products in them the Information Box with Shipping & Returns etc shows up in the New products area. Might have something to do with this part: } // end if (($no_of_new_products = tep_db_num_rows($new_products_query)) > 0) // EOF Separate Pricing per Customer new contentBox($info_box_contents, $side); If there are no new products to show, there will still be a contentBox generated and if the variable $info_box_contents hasn't been reset to '' or with $info_box_contents = array(); I presume the $info_box_contents that was generated for Shipping & Returns is now inserted here... As an aside: it looks like you query the products_name twice, the first time with: $nr = 1; $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']); and then again with $new_products[$x]['products_name'] = $product_details['products_name']; I would try to comment out the first time and see what happens (I think you will be fine). Quote Link to comment Share on other sites More sharing options...
beruska77 Posted July 18, 2006 Share Posted July 18, 2006 (edited) Should have been @,1 ;) Dont matter as it did not even insert the 1 ;) Anyway, I found out in the end what contribution you are using Category Descriptions MS2 1.4 and after some considerable amount of time I think I know what happens. This contribution does a category preview (category.insert.txt) which stores all posted variables in hidden fields during the preview (just like when you edit products) however not if the posted variables are an array.... So if you look at the web page source when doing the categories preview you will not find anything concerning the hide category in the hidden fields. I suspect that if you change this piece in the part that is described in category.insert.txt: THANK YOU, THANK YOU, THANK YOU, that worked out for me! it was showing the array on the preview but it simple did not insert! But now it works :D i will send you a pm with the changes later for all that have Categories Description installed! Beruska CZ Edited July 18, 2006 by beruska77 Quote Link to comment Share on other sites More sharing options...
kbking Posted July 18, 2006 Share Posted July 18, 2006 would try to comment out the first time and see what happens (I think you will be fine). I tried but couldn't get it right. The code that works, before I did any changes, looks like this: <?php /* $Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ $temp_side = $side; $side = '_new'; ?> <!-- new_products //--> <TABLE border="0" width="100%" cellspacing="0" cellpadding="0"> <TR> <TD style="padding-left: 10px;"> <TABLE border="0" width="100%" cellspacing="0" cellpadding="0"> <TR> <TD style="border-top: 1px solid #D0D3D8; border-bottom: 1px solid #D0D3D8; padding-top: 10px; padding-bottom: 10px;"> <?php // $info_box_contents = array(); // $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B'))); // new contentBoxHeading($info_box_contents, $side); 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; $nr = 1; $info_box_contents = array(); while ($new_products = tep_db_fetch_array($new_products_query)) { if ($nr > 2) { $style = 'border-top: 1px solid #D0D3D8;'; } else { $style = ''; } // $new_products['products_name'] = tep_get_products_name($new_products['products_id']); $product_query = tep_db_query("select products_name, products_description from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . $new_products['products_id'] . "' and language_id = '" . $languages_id . "'"); $product_details = tep_db_fetch_array($product_query); $new_products['products_name'] = $product_details['products_name']; $new_products['products_description'] = substr ($product_details['products_description'],0,40); $info_box_contents[$row][$col] = array('align' => 'center', 'params' => 'class="smallText" style="' . $style . '" width="50%" valign="top"', 'text' => '<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> <TABLE border="0" width="100%" cellspacing="0" cellpadding="0"><TR><TD width="50%" valign="middle" class="smallText"><a class="newProdName" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products['products_id']) . '">' . $new_products['products_name'] . '</a><br>' . $new_products['products_description'] . '...</TD> '. tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product&products_id=' . $new_products['products_id'])).' <TD width="50%" align="right" valign="top" class="smallText"><SPAN class="newPrice">' . $currencies->display_price($new_products['products_price'], tep_get_tax_rate($new_products['products_tax_class_id'])) . ' </SPAN><br>'.tep_draw_hidden_field('products_id', $new_products['products_id']). tep_image_submit('button_add_cart.gif', IMAGE_BUTTON_IN_CART).'</TD> </FORM> </TR></TABLE>'); $nr ++; $col ++; if ($col > 1) { $col = 0; $row ++; } } new contentBox($info_box_contents, $side); $side = $temp_side; ?> </TD> </TR> </TABLE> </TD> </TR> </TABLE> <!-- new_products_eof //--> Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted July 18, 2006 Share Posted July 18, 2006 I tried but couldn't get it right. Found a few errors, made a few changes. Try this: <?php /* $Id: new_products.php,v 1.34 2003/06/09 22:49:58 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ $temp_side = $side; $side = '_new'; ?> <!-- new_products //--> <TABLE border="0" width="100%" cellspacing="0" cellpadding="0"> <TR> <TD style="padding-left: 10px;"> <TABLE border="0" width="100%" cellspacing="0" cellpadding="0"> <TR> <TD style="border-top: 1px solid #D0D3D8; border-bottom: 1px solid #D0D3D8; padding-top: 10px; padding-bottom: 10px;"> <?php // $info_box_contents = array(); // $info_box_contents[] = array('text' => sprintf(TABLE_HEADING_NEW_PRODUCTS, strftime('%B'))); // new contentBoxHeading($info_box_contents, $side); // 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 ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) { // BOF Separate Pricing per Customer, Hide products from groups mod $new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, p.products_price, pd.products_name, LEFT(pd.products_description, 41) as products_description from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_id = pd.products_id and products_status = '1' and find_in_set('".$customer_group_id."', products_hide_from_groups) = 0 and pd.language_id = '" . (int)$languages_id . "' 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, pd.products_name, LEFT(pd.products_description, 41) as products_description from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd left join " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c using(products_id) left join " . TABLE_CATEGORIES . " c using(categories_id) where p.products_id = pd.products_id and c.parent_id = '" . (int)$new_products_category_id . "' and p.products_status = '1' and find_in_set('".$customer_group_id."', products_hide_from_groups) = 0 and pd.language_id = '" . (int)$languages_id . "' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS); } 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) } // end if (($no_of_new_products = tep_db_num_rows($new_products_query)) > 0) $row = 0; $col = 0; $nr = 1; $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']); if ($nr > 2) { $style = 'border-top: 1px solid #D0D3D8;'; } else { $style = ''; } // products_name and substring from products_description retrieved in the first query now /* $new_products['products_name'] = tep_get_products_name($new_products['products_id']); $product_query = tep_db_query("select products_name, products_description from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . $new_products[$x]['products_id'] . "' and language_id = '" . $languages_id . "'"); $product_details = tep_db_fetch_array($product_query); $new_products[$x]['products_name'] = $product_details['products_name']; $new_products[$x]['products_description'] = substr ($product_details['products_description'],0,40); */ $info_box_contents[$row][$col] = array('align' => 'center', 'params' => 'class="smallText" style="' . $style . '" width="50%" 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> <TABLE border="0" width="100%" cellspacing="0" cellpadding="0"><TR><TD width="50%" valign="middle" class="smallText"><a class="newProdName" href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $new_products[$x]['products_id']) . '">' . $new_products[$x]['products_name'] . '</a><br>' . $new_products[$x]['products_description'] . '...</TD> '. tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product&products_id=' . $new_products[$x]['products_id'])).' <TD width="50%" align="right" valign="top" class="smallText"><SPAN class="newPrice">' . $currencies->display_price($new_products[$x]['products_price'], tep_get_tax_rate($new_products[$x]['products_tax_class_id'])) . ' </SPAN><br>'.tep_draw_hidden_field('products_id', $new_products[$x]['products_id']). tep_image_submit('button_add_cart.gif', IMAGE_BUTTON_IN_CART).'</TD> </FORM> </TR></TABLE>'); $nr ++; $col ++; if ($col > 1) { $col = 0; $row ++; } } // end for ($x = 0; $x < $no_of_new_products; $x++) // EOF Separate Pricing per Customer new contentBox($info_box_contents, $side); $side = $temp_side; ?> </TD> </TR> </TABLE> </TD> </TR> </TABLE> <!-- new_products_eof //--> Quote Link to comment Share on other sites More sharing options...
herot Posted July 18, 2006 Share Posted July 18, 2006 (edited) SPPC doesn't do anything with that page (orders.php) and in general when the order is finished, SPPC's job is done. I don't know what you normally should see though (never dealt with credit cards in osC although this seems to be standard: line 179-201 in that page) but it doesn't look to me it has something to do with SPPC. Can you find the info back in the table orders using phpMyAdmin? ok, i found that the credit card information is NOT getting stored in the sql table... the order.php is trying to display the info correctly but there is no info to store... i am not sure which file takes the data from the page and places it into the database... so the problem is occurs before the order is finished apparently. Also, is there some code i can add to sort orders by whether it was placed by a wholesale or retail customer... and also possibly give me a count of how many retail/wholesale orders there are respectively? Edited July 18, 2006 by herot Quote Did you get rid of the voices in your head? Do you now miss them and the things that they said? -David Gilmour Link to comment Share on other sites More sharing options...
herot Posted July 18, 2006 Share Posted July 18, 2006 is there a way i can keep certain customer groups (retail) from being able to view certain product categories (plants) ? (hopefully a way that could be compatible with the "cool menus" contrib) Quote Did you get rid of the voices in your head? Do you now miss them and the things that they said? -David Gilmour Link to comment Share on other sites More sharing options...
kbking Posted July 18, 2006 Share Posted July 18, 2006 Found a few errors, made a few changes. Your changes of the code made my day, it worked a treat! :) Thank You! Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted July 18, 2006 Share Posted July 18, 2006 Also, is there some code i can add to sort orders by whether it was placed by a wholesale or retail customer... Yes: catalog/admin/includes/languages/english/orders.php Line 4 **AFTER** $Id: orders.php,v 1.112 2003/06/29 22:50:52 hpdl Exp $ **ADD** adapted for Separate Pricing Per Customer v4 2005/12/10 Line 13 **AFTER** define('HEADING_TITLE', 'Orders'); **ADD** // BOF Separate Pricing Per Customer define('TABLE_HEADING_CUSTOMERS_GROUPS', 'Customer?Group'); // EOF Separate Pricing Per Customer ---------------------------------------------------------------------------------- catalog/admin/orders.php Line 342-387 **REPLACE** (number of lines left out) <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ORDER_TOTAL; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_DATE_PURCHASED; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>?</td> </tr> <?php if (isset($HTTP_GET_VARS['cID'])) { . . . . . <?php } ?> <tr> <td colspan="5"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> **WITH** <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr class="dataTableHeadingRow"> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS; ?></td><!-- next td added for SPPC --> <td class="dataTableHeadingContent"><?php echo TABLE_HEADING_CUSTOMERS_GROUPS; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ORDER_TOTAL; ?></td> <td class="dataTableHeadingContent" align="center"><?php echo TABLE_HEADING_DATE_PURCHASED; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_STATUS; ?></td> <td class="dataTableHeadingContent" align="right"><?php echo TABLE_HEADING_ACTION; ?>?</td> </tr> <?php if (isset($HTTP_GET_VARS['cID'])) { // BOF Separate Pricing Per Customer $cID = tep_db_prepare_input($HTTP_GET_VARS['cID']); $orders_query_raw = "select o.orders_id, o.customers_name, o.customers_id, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total, cg.customers_group_name from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id) left join " . TABLE_CUSTOMERS . " c on c.customers_id = o.customers_id left join " . TABLE_CUSTOMERS_GROUPS . " cg using(customers_group_id), " . TABLE_ORDERS_STATUS . " s where o.customers_id = '" . (int)$cID . "' and o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by orders_id DESC"; } elseif (isset($HTTP_GET_VARS['status'])) { $status = tep_db_prepare_input($HTTP_GET_VARS['status']); $orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total, cg.customers_group_name from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id) left join " . TABLE_CUSTOMERS . " c on c.customers_id = o.customers_id left join " . TABLE_CUSTOMERS_GROUPS . " cg using(customers_group_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and s.orders_status_id = '" . (int)$status . "' and ot.class = 'ot_total' order by o.orders_id DESC"; } else { $orders_query_raw = "select o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total, cg.customers_group_name from " . TABLE_ORDERS . " o left join " . TABLE_ORDERS_TOTAL . " ot on (o.orders_id = ot.orders_id) left join " . TABLE_CUSTOMERS . " c on c.customers_id = o.customers_id left join " . TABLE_CUSTOMERS_GROUPS . " cg using(customers_group_id), " . TABLE_ORDERS_STATUS . " s where o.orders_status = s.orders_status_id and s.language_id = '" . (int)$languages_id . "' and ot.class = 'ot_total' order by o.orders_id DESC"; // EOF Separate Pricing Per Customer } $orders_split = new splitPageResults($HTTP_GET_VARS['page'], MAX_DISPLAY_SEARCH_RESULTS, $orders_query_raw, $orders_query_numrows); $orders_query = tep_db_query($orders_query_raw); while ($orders = tep_db_fetch_array($orders_query)) { if ((!isset($HTTP_GET_VARS['oID']) || (isset($HTTP_GET_VARS['oID']) && ($HTTP_GET_VARS['oID'] == $orders['orders_id']))) && !isset($oInfo)) { $oInfo = new objectInfo($orders); } if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) { echo ' <tr id="defaultSelected" class="dataTableRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $oInfo->orders_id . '&action=edit') . '\'">' . "\n"; } else { echo ' <tr class="dataTableRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="document.location.href=\'' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '\'">' . "\n"; } ?> <td class="dataTableContent"><?php echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID', 'action')) . 'oID=' . $orders['orders_id'] . '&action=edit') . '">' . tep_image(DIR_WS_ICONS . 'preview.gif', ICON_PREVIEW) . '</a>?' . $orders['customers_name']; ?></td><!-- next td added for SPPC --> <td class="dataTableContent"><?php echo $orders['customers_group_name']; ?></td> <td class="dataTableContent" align="right"><?php echo strip_tags($orders['order_total']); ?></td> <td class="dataTableContent" align="center"><?php echo tep_datetime_short($orders['date_purchased']); ?></td> <td class="dataTableContent" align="right"><?php echo $orders['orders_status_name']; ?></td> <td class="dataTableContent" align="right"><?php if (isset($oInfo) && is_object($oInfo) && ($orders['orders_id'] == $oInfo->orders_id)) { echo tep_image(DIR_WS_IMAGES . 'icon_arrow_right.gif', ''); } else { echo '<a href="' . tep_href_link(FILENAME_ORDERS, tep_get_all_get_params(array('oID')) . 'oID=' . $orders['orders_id']) . '">' . tep_image(DIR_WS_IMAGES . 'icon_info.gif', IMAGE_ICON_INFO) . '</a>'; } ?>?</td> </tr> <?php } ?> <tr><!-- next colspan from 5 to 6 for SPPC --> <td colspan="6"><table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> and also possibly give me a count of how many retail/wholesale orders there are respectively? No, but it shouldn't be too hard to make a query in phpMyAdmin that combines order info and customer_group through the customer id. Quote Link to comment Share on other sites More sharing options...
Jan Zonjee Posted July 18, 2006 Share Posted July 18, 2006 is there a way i can keep certain customer groups (retail) from being able to view certain product categories (plants) ? (hopefully a way that could be compatible with the "cool menus" contrib) I'm not familiar with the cool menus contribution but it takes a lot more code and pages/modules to prevent someone to take a look at certain products/product categories and/or buy it. texmaxx and I have been working on it as an "upgrade" to the "hide products for customer groups" contribution (that only hid products) to also hide entire categories. The code is ready, I just need to make the new files and check that the "new install instructions" are correct. In short... soon. Quote Link to comment Share on other sites More sharing options...
herot Posted July 18, 2006 Share Posted July 18, 2006 (edited) Yes:catalog/admin/includes/languages/english/orders.php Line 4 **AFTER** $Id: orders.php,v 1.112 2003/06/29 22:50:52 hpdl Exp $....*post JanZ's post intentionally shortened, see post #2545 for entirety* Thanks that worked great ;) Edited July 18, 2006 by herot Quote Did you get rid of the voices in your head? Do you now miss them and the things that they said? -David Gilmour Link to comment Share on other sites More sharing options...
♥texmaxx Posted July 19, 2006 Share Posted July 19, 2006 hopefully a way that could be compatible with the "cool menus" contribit works perfect with the cool menu Quote Link to comment Share on other sites More sharing options...
herot Posted July 19, 2006 Share Posted July 19, 2006 it works perfect with the cool menu Yep, i got hide HPFCG for SPPC installed and it works great with cool menus... :) Quote Did you get rid of the voices in your head? Do you now miss them and the things that they said? -David Gilmour Link to comment Share on other sites More sharing options...
dwdonline Posted July 19, 2006 Share Posted July 19, 2006 Hi, I am needing a little help here. I have installed SPPC and Add Multiple Products to Cart in columns for SPPC. I am wanting to add SPPC Price Break now. My problem is - the code is for catalog/includes/modules/product_listing.php and I need it for the columns (product_listing_multi_col.php). Is that code available anywhere? Thanks, Philip 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.