Jump to content

JulieCSM

Members
  • Content count

    921
  • Joined

  • Last visited

1 Follower

Profile Information

  1. I found that you can't make the field bigger - the maximum is 255 characters! You have to create a new zone for the rest. Just C&P the ones that don't fit into the new field and copy the shipping rates - easy peasy!
  2. I'm after something similar. I am having problems with Outlook Express - it won't let me send emails using the store email address - even though it is set up 'correctly'. It used to but now it doesn't. So I am using the osc 'Email customer' function to send emails to my customers. Only problem is, it doesn't keep them like Outlook does so I can't refer back to them alter. Is it possible to set something up that will store those emails in the db, like the newsletters are stored? I did search the contribs, using 'email' but nothing like this came up.
  3. JulieCSM

    Problem with Option type feature

    Thank you very much! I have changed it and, while I haven't tested it yet with any new options, it certainly hasn't messed any existing ones up, which is all good! Happy now! :D
  4. JulieCSM

    Problem with Option type feature

    I didn't. I just changed my system so there were no dropdown lists. Once I deleted the extra options I had put in for the drop down lists, the type options went back to normal. Annoying but I couldn't see any other way to fix it, and it was urgent.
  5. JulieCSM

    Problem with Option type feature

    BUGGER!!! I just checked my products with text options and they're all messed up now also!! Showing the same error. They were fine before! Help!!
  6. Hi all I installed the option type feature v1.4 for MS1 ages ago and the option for text works fine. However, I now have the need to have a normal dropdown option list and it doesn't work!!! I get this error: Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/julie/public_html/wholesale/includes/functions/database.php on line 99 Can be seen here: http://cheapsheetmusic.co.uk/wholesale/pro...roducts_id/1694 Thing is, I didn't change anything in database.php so the problem must actually lie in product_info.php It's kind of a mess in there as I have attributes sorter and copier along with option type feature, so maybe I missed something out. This is the section of code from product_info.php which calls the attributes: <?php ? ?$products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'"); ? ?$products_attributes = tep_db_fetch_array($products_attributes_query); ? ?if ($products_attributes['total'] > 0) { ? ? ?$products_options_name = tep_db_query("select distinct popt.products_options_id, popt.products_options_name, popt.products_options_sort_order from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . $HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'" . " order by popt.products_options_sort_order"); ? ? ?echo '<b>' . TEXT_PRODUCT_OPTIONS . '</b><br>' . ? ? ? ? ? '<table border="0" cellpadding="0" cellspacing"0">'; ? ? ?// dogu 2003-02-28 update query to pull option_type ? ? ?// clr 2003-03-15 add order by statement to query ? ? ?$products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name, popt.products_options_type, popt.products_options_length, popt.products_options_comment from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "' order by popt.products_options_id"); ? ? ?$products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . $languages_id . "'"); while ($products_options_name = tep_db_fetch_array($products_options_name_query)) { //dogu 2003-02-28 BEGIN Add if statement to check product option type. If add more option types, then change this to a case statement. if ($products_options_name['products_options_type'] == PRODUCTS_OPTIONS_TYPE_TEXT) { // dogu 2003-02-28 add query to pull attribute price and price_prefix $products_attribs_query = tep_db_query("select distinct patrib.options_values_price, patrib.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = '" . $products_options_name['products_options_id'] . "'"); $products_attribs_array = tep_db_fetch_array($products_attribs_query); echo '<tr><td class="main">' . $products_options_name['products_options_name'] . ': </td><td class="main"><input type="text" name ="id[' . TEXT_PREFIX . $products_options_name['products_options_id'] . ']" size="' . $products_options_name['products_options_length'] .'" maxlength="' . $products_options_name['products_options_length'] . '" value="' . $cart->contents[$HTTP_GET_VARS['products_id']]['attributes_values'][$products_options_name['products_options_id']] .'"> ' . $products_options_name['products_options_comment']; if ($products_attribs_array['options_values_price'] != '0') { echo '(' . $products_attribs_array['price_prefix'] . $currencies->display_price($products_attribs_array['options_values_price'], $product_info_values['products_tax_class_id']) .') '; } echo '</td></tr>'; } else { ? ?//dogu 2003-02-28 END Add if statement to check product option type. ? ? ? ?$selected = 0; ? ? ? ?$products_options_array = array(); ? ? ? ?echo '<tr><td class="main">' . $products_options_name['products_options_name'] . ':</td><td>' . "\n"; // BOF: WebMakers.com Added: Attributes Copy and Sort ?if ( PRODUCTS_OPTIONS_SORT_BY_PRICE !='1' ) { ? ? ? ?$products_options = tep_db_query("select pa.products_options_sort_order, pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . $HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . $products_options_name_values['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . $languages_id . "'" . " order by pa.products_options_sort_order, pov.products_options_values_name"); ?} else { ? ? ? ?$products_options = tep_db_query("select pa.products_options_sort_order, pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . $HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . $products_options_name_values['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . $languages_id . "'" . " order by pa.products_options_sort_order, pa.options_values_price"); ?} // EOF: WebMakers.com Added: Attributes Copy and Sort ? ? ? ?while ($products_options = tep_db_fetch_array($products_options_query)) { ? ? ? ? ?$products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']); ? ? ? ? ?if ($products_options['options_values_price'] != '0') { ? ? ? ? ? ?$products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') '; ? ? ? ? ?} ? ? ? ?} ? ? ? ?echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']]); ? ? ? ?echo '</td></tr>'; // dogu 2003-02-28 insert closing bracket due to if statement ? ? ?} ? ? ?} ? ? ?echo '</table>'; ? ?} // EOF: attribute options /////////////////////////////////////////////////////////////////////////// ?> This is the appropriate section of database.php: function tep_db_fetch_array($db_query) { ? ?return mysql_fetch_array($db_query, MYSQL_ASSOC); ?} PLEASE can anyone help!! I probably did something wrong when merging the files, missed something out or duplicated something.
  7. Hmm - well I did it but I used the 1.4 version for the options type feature, as I have MS1. And the sort order doesn't work on the product_info page so I must have done something wrong when I merged them. But it is possible - look again at the program you used to show the difference and take it slowly and carefully - as I did. Was scared stiff when I had installed everything in case I had totally screwed up, but apart from the sort order not working, everything seems to be fine, so it IS possible. It took me about 4 hours to instal them both though - I wouldn't like to do it again - definitely not for novices! BACK UP! BACK UP! BACK UP! BACK UP! BACK UP! BACK UP! BACK UP! BACK UP!
  8. JulieCSM

    Easy Order page

    Well, thanks, but I already have something like this - product listing with attributes, which sounds like it does the same thing. On the normal product listing page, it has quantity boxes and an add to cart button at the bottom. It also shows any attributes the product has on the listing page. But, like yours, it's in categories and also shows the images. I wanted, in addition to this, to be able to list ALL the products on one page without images (hence the adaptation of the all prods contrib for the basic listing code), and also the add to cart button at the bottom. It's really only that that is the problem now. Probably 99% of the work is done, we just need to get the quantities from the boxes. But I don't know enough about it to see what to change. I thought about creating a separate category with all the products in it but that would still have the images - take forever to load with ALL the product images. It's not currently possible to turn off images for one category and not others AFAIK.
  9. JulieCSM

    Easy Order page

    Anyone else want to help me get this functional. It's almost there - just isn't grabbing the quantities from the quantity boxes and sending them to the cart. I keep getting PMs about it saying is it ready yet, so there is definite interest in having it as a contrib.
  10. I have this installed and I am very happy with it - thank you very much!! One question though - is it possible to replace the grey "Add to cart" button with an image so that it is consistent with the rest of the site? My image is button_in_cart.gif and the code which calls the grey button is: <td align="right" colspan="<?php echo $colspan; ?>"><input type="submit" align="absmiddle" value="Add To Cart" id="submit1" name="submit1" Class="SubmitBtn"></form></td> Has anyone managed to replace it with an image and if, what did you do? I have tried a few things but nothing has worked so far.
  11. JulieCSM

    Easy Order page

    JB I added your code as I couldn't figure out how to do it the other way and it's not getting the quantities: This is the code from application_top for adding an item from the products page with the modification to get it from the quantity box which I added. This works: // customer adds a product from the products page case 'add_product' : if (isset($HTTP_POST_VARS['products_id']) && is_numeric($HTTP_POST_VARS['products_id'])) { $cart->add_cart($HTTP_POST_VARS['products_id'], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'], $HTTP_POST_VARS['id']))+$quantity, $HTTP_POST_VARS['id']); } tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters))); break; The difference is this: $HTTP_POST_VARS['id']))+$quantity was originally this: $HTTP_POST_VARS['id']))+1 And this is your code which tells it to add the products quantity from the easy order page: // customer adds order from easy order page case 'add_easy': for ($i=1; $i<=sizeof($HTTP_POST_VARS['products_id']);$i++) { $cart->add_cart($HTTP_POST_VARS['products_id'][$i], $cart->get_quantity(tep_get_uprid($HTTP_POST_VARS['products_id'][$i], $HTTP_POST_VARS['id'][$i]))+($HTTP_POST_VARS['add_id'][$i]), $HTTP_POST_VARS['id'][$i]); } tep_redirect(tep_href_link(FILENAME_SHOPPING_CART, tep_get_all_get_params($parameters), 'NONSSL')); break; Which is the bit that is supposed to get the quantity? It's going to the shopping cart but there's nothing in it. TIA
  12. JulieCSM

    Easy Order page

    OK - I think I'm nearly there. This is the code for my new page easyrorder.php which is basically a stright copy of the section of default.php which creates the product listing. I have installed the Product Listing with attributes contrib which shows the attributes and a quantity box on the product listing page and I am trying to get it to show the same but for all products on a separate page. <?php /* $Id: shipping.php,v 1.21 2003/02/13 04:23:23 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'); require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_ALLPRODS); $breadcrumb->add(NAVBAR_TITLE, tep_href_link(FILENAME_ALLPRODS)); ?> <!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN"> <html <?php echo HTML_PARAMS; ?>> <head> <meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>"> <title><?php echo TITLE; ?></title> <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"> <!-- header //--> <?php require(DIR_WS_INCLUDES . 'header.php'); ?> <!-- header_eof //--> <!-- body //--> <table border="0" width="100%" cellspacing="0" cellpadding="5"> <tr> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="1" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="0"> <!-- left_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_left.php'); ?> <!-- left_navigation_eof //--> </table></td> <!-- body_text //--> <?php // 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_MULTIPLE' => PRODUCT_LIST_MULTIPLE, 'PRODUCT_LIST_BUY_NOW' => PRODUCT_LIST_BUY_NOW); asort($define_list); $column_list = array(); reset($define_list); while (list($column, $value) = each($define_list)) { if ($value) $column_list[] = $column; } $select_column_list = ''; for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { if ( ($column_list[$col] == 'PRODUCT_LIST_BUY_NOW') || ($column_list[$col] == 'PRODUCT_LIST_PRICE') || ($column_list[$col] == 'PRODUCT_LIST_MULTIPLE') ) { continue; } if (tep_not_null($select_column_list)) { $select_column_list .= ', '; } switch ($column_list[$col]) { 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; } } if (tep_not_null($select_column_list)) { $select_column_list .= ', '; } // show the products of a specified manufacturer if (isset($HTTP_GET_VARS['manufacturers_id'])) { if (isset($HTTP_GET_VARS['filter_id'])) { // We are asked to show only a specific category $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 . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . $HTTP_GET_VARS['manufacturers_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . $languages_id . "' and p2c.categories_id = '" . $HTTP_GET_VARS['filter_id'] . "'"; } else { // We show them all $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 left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and pd.products_id = p.products_id and pd.language_id = '" . $languages_id . "' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . $HTTP_GET_VARS['manufacturers_id'] . "'"; } // We build the categories-dropdown $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 = '" . $languages_id . "' and p.manufacturers_id = '" . $HTTP_GET_VARS['manufacturers_id'] . "' order by cd.categories_name"; } else { // show the products in a given categorie if (isset($HTTP_GET_VARS['filter_id'])) { // We are asked to show only specific catgeory $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 . " s on p.products_id = s.products_id where p.products_status = '1' and p.manufacturers_id = m.manufacturers_id and m.manufacturers_id = '" . $HTTP_GET_VARS['filter_id'] . "' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . $languages_id . "' and p2c.categories_id = '" . $current_category_id . "'"; } else { // We show them all $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, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_status = '1' and p.products_id = p2c.products_id and pd.products_id = p2c.products_id and pd.language_id = '" . $languages_id . "' and p2c.categories_id = '" . $current_category_id . "'"; } // We build the manufacturers Dropdown $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 = '" . $current_category_id . "' order by m.manufacturers_name"; } if ( (!$HTTP_GET_VARS['sort']) || (!ereg('[1-8][ad]', $HTTP_GET_VARS['sort'])) || (substr($HTTP_GET_VARS['sort'],0,1) > sizeof($column_list)) ) { for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { if ($column_list[$col] == 'PRODUCT_LIST_NAME') { $HTTP_GET_VARS['sort'] = $col+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); $listing_sql .= ' order by '; switch ($column_list[$sort_col-1]) { case 'PRODUCT_LIST_MODEL': $listing_sql .= "p.products_model " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_NAME': $listing_sql .= "pd.products_name " . ($sort_order == 'd' ? 'desc' : ''); break; case 'PRODUCT_LIST_MANUFACTURER': $listing_sql .= "m.manufacturers_name " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_QUANTITY': $listing_sql .= "p.products_quantity " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_IMAGE': $listing_sql .= "pd.products_name"; break; case 'PRODUCT_LIST_WEIGHT': $listing_sql .= "p.products_weight " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; case 'PRODUCT_LIST_PRICE': $listing_sql .= "final_price " . ($sort_order == 'd' ? 'desc' : '') . ", pd.products_name"; break; } } ?> <td width="100%" valign="top"><table border="0" width="100%" cellspacing="0" cellpadding="0"> <tr> <td><table border="0" width="100%" cellspacing="0" cellpadding="0"> <form> <tr> <td class="pageHeading"><?php echo HEADING_TITLE; ?></td> <?php // optional Product List Filter if (PRODUCT_LIST_FILTER > 0) { $filterlist_query = tep_db_query($filterlist_sql); if (tep_db_num_rows($filterlist_query) > 1) { echo ' <td align="center" class="main">' . TEXT_SHOW . '<select size="1" onChange="if(options[selectedIndex].value) window.location.href=(options[selectedIndex].value)">'; if (isset($HTTP_GET_VARS['manufacturers_id'])) { $arguments = 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id']; } else { $arguments = 'cPath=' . $cPath; } $arguments .= '&sort=' . $HTTP_GET_VARS['sort']; $option_url = tep_href_link(FILENAME_DEFAULT, $arguments); if (!isset($HTTP_GET_VARS['filter_id'])) { echo '<option value="' . $option_url . '" SELECTED>' . TEXT_ALL . '</option>'; } else { echo '<option value="' . $option_url . '">' . TEXT_ALL . '</option>'; } echo '<option value="">---------------</option>'; while ($filterlist = tep_db_fetch_array($filterlist_query)) { $option_url = tep_href_link(FILENAME_DEFAULT, $arguments . '&filter_id=' . $filterlist['id']); if (isset($HTTP_GET_VARS['filter_id']) && ($HTTP_GET_VARS['filter_id'] == $filterlist['id'])) { echo '<option value="' . $option_url . '" SELECTED>' . $filterlist['name'] . '</option>'; } else { echo '<option value="' . $option_url . '">' . $filterlist['name'] . '</option>'; } } echo '</select></td>' . "\n"; } } ?> <td align="right"></td> </tr> <tr><td class="main">Simply enter the quantity for each item into the box and scroll to the bottom of the page to add them to your cart.<p> If ordering packs please enter the quantity of <b>packs</b> you require, not the quantity of items. </td><td></td></tr> </form> </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> <!-- body_text_eof //--> <td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2"> <!-- right_navigation //--> <?php require(DIR_WS_INCLUDES . 'column_right.php'); ?> <!-- right_navigation_eof //--> </table></td> </tr> </table> <!-- body_eof //--> <!-- footer //--> <?php require(DIR_WS_INCLUDES . 'footer.php'); ?> <!-- footer_eof //--> <br> </body> </html> <?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?> So far it's telling me I have no products but I think that's because I have't given it a category to look for. So how do I tell it to just list all the products instead of looking for a category? This is where we right now: http://cheapsheetmusic.co.uk/wholesale/easyorder.php
  13. JulieCSM

    Easy Order page

    ^Well, I added a heck of a lot more than that to install the above contrib, which basically does what we said but in default instead of a new page. What we really need is something which basically takes the altered product_listing module, which already does this, and puts it in the easy order page. I think this would be a better way to go than writing all the code agin. I did actually try just making a new page and inserting it and this was the result: http://www.cheapsheetmusic.co.uk/wholesale/easyorder.php LOL - obviously missing something vital ;) I will look at the surrounding code in default.php which calls the product listing and see if I can copy that. For people who don't have the altered product_listing we could create a copy called product_list_easy or something and have it call that instead. Watch this space.
  14. JulieCSM

    Easy Order page

    OK - I've given up. Found this contrib, the Product Listing with quantity box and attributes and thought I might be able to hack the code, but it looks far too cmplicated. http://www.oscommerce.com/community/contributions,1098 So I installed the contrib instead. Not quite as convenient as having it all on one page but certainly a heck of a lot better than going through individual product pages. If anyone feels confident and wants to hack the contrib to try and make it do on one page, then feel free to post your ideas here.
  15. JulieCSM

    Easy Order page

    Unfortunately, this has now gone way beyond my level of expertise. I have examined the functions of the In cart button on the product page and the Buy Now button on the listing page and also the shopping cart actions in application_top in the hopes of cobbling together some kind of code for my easy order button but nothing worked. Also, I realised that, as it stands, this would not work for any product that had attributes. There would probably be a way of listing the attributes on the easy order page just as on the products_info page. So the button would not only have to get the quantity from each product, it would also need to look and see if the product had attributes and include those also. I think this contrib would be really good for stores with not so many products - buy everything on one page. PHP gurus - we need your help!!!! Edit: the code I have used for the box I nicked from a great little contrib which allows you to place a quantity box on the products_info page before adding it to the cart. <input type='text' name='quantity' value='0' maxlength='3' size='2'> Also the code for the button I copied straight from the products_info page also <td align="right" class="main"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></td> Now I didn't think for a second that this would actually work - far too easy. But it gives you an idea of what I'm working with.
×