radhavallabh Posted November 3, 2011 Posted November 3, 2011 (edited) Hi I was adding Compare Side by Side contribution to my store oscommerce 2.2rca but the product_listing.php showed on your package are way too different from mines which I have modded too; the product_listing code is below cud u help me to where the code has to be added as it completely differs in few places which I will mention below after pasting it; Please help me I would be very elated to use this addon to my website. My orignal product_listing.php that i use - <?php /* $Id: product_listing.php 1739 2007-12-20 00:52:16Z hpdl $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ // added for New Product Icon contribution $today_time = time(); // end addition if (!defined('PRODUCT_LIST_COLUMNS')) { tep_db_query( "insert into configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Number of products per row', 'PRODUCT_LIST_COLUMNS', '5', 'Set the number of products per row to display?', '8', '11', now());" ); define('PRODUCT_LIST_COLUMNS', '5'); } $listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id'); if ( ($listing_split->number_of_rows > 0) && ( (PREV_NEXT_BAR_LOCATION == '1') || (PREV_NEXT_BAR_LOCATION == '3') ) ) { ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td> <td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td> </tr> </table> <?php } if (tep_not_null($_GET['manufacturers_id'])) { $manufacturer_query = tep_db_query( "select manufacturers_name from " . TABLE_MANUFACTURERS . " where manufacturers_id = '" . tep_db_input($_GET['manufacturers_id']) . "';" ); $manufacturer = tep_db_fetch_array($manufacturer_query); $info_box_header = $manufacturer['manufacturers_name']; if (tep_not_null($_GET['filter_id'])) { $category_query = tep_db_query( "select cd.categories_name from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = '" . tep_db_input($_GET['filter_id']) . "' and cd.categories_id = '" . tep_db_input($_GET['filter_id']) . "' and cd.language_id = '" . (int)$languages_id . "'" ); $category = tep_db_fetch_array($category_query); $info_box_header .= ' > '. $category['categories_name']; } } if (tep_not_null($current_category_id)) { $category_query = tep_db_query( "select cd.categories_name 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 . "'" ); $category = tep_db_fetch_array($category_query); $info_box_header = $category['categories_name']; } $info_box_contents = array(); $info_box_contents[] = array('text' => $info_box_header); new contentBoxHeading($info_box_contents); $row = 0; $col = 0; $list_box_contents = array(); if ($listing_split->number_of_rows > 0) { $listing_query = tep_db_query($listing_split->sql_query); while ($listing = tep_db_fetch_array($listing_query)) { $lc_align = 'center'; $lc_text = '<table cellpadding="2" cellspacing="0" border="0" style="font:Times New Roman; font-size:12px;">' . "rn"; foreach ($column_list as $column) { switch($column) { // Row: Products model case 'PRODUCT_LIST_MODEL': $lc_text .= ' <tr>' . "rn" . ' <td align="center">'. $listing['products_model'] . '</td>' . "rn" . ' </tr>' . "rn"; break; // Row: Product's image case 'PRODUCT_LIST_IMAGE': $lc_text .= ' <tr>' . "rn" . ' <td align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, (isset($_GET['manufacturers_id']) ? 'manufacturers_id=' . $_GET['manufacturers_id'] : ($cPath ? 'cPath=' . $cPath : '')) . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>' . "rn" . ' </tr>' . "rn"; break; // Row: Product's name case 'PRODUCT_LIST_NAME': // added for New Product Icon contribution // 2592000 = 30 days in the unix timestamp format if ( ($today_time - strtotime($listing['products_date_added'])) < 2592000) { $listing['products_name'] .= ' ' . tep_image_button('icon_newarrival.gif', TEXT_ICON_NEW_PRODUCT. ' : ' . $listing['products_name'], 'align="middle"'); } // end addition $lc_text .= ' <tr>' . "rn" . ' <td align="center">Item- <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, (isset($_GET['manufacturers_id']) ? 'manufacturers_id=' . $_GET['manufacturers_id'] : ($cPath ? 'cPath=' . $cPath : '')) . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a></td>' . "rn" . ' </tr>' . "rn"; break; // Row: Manufacturer's name case 'PRODUCT_LIST_MANUFACTURER': $lc_text .= ' <tr>' . "rn" . ' <td align="center"><span style="color: #666666;">'. $listing['manufacturers_name'] . '</span></td>' . "rn" . ' </tr>' . "rn"; break; // Row: Price case 'PRODUCT_LIST_PRICE': if (tep_not_null($listing['specials_new_products_price'])) { $lc_text .= ' <tr>' . "rn" . ' <td align="center">Price- <s>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) .'</s> <span class="productSpecialPrice">'. $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span></td>' . "rn" . ' </tr>' . "rn"; } else { $lc_text .= ' <tr>' . "rn" . ' <td align="center">Price- ' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</td>' . "rn" . ' </tr>' . "rn"; } break; // Row: Product's quantity case 'PRODUCT_LIST_QUANTITY': $lc_text .= ' <tr>' . "rn" . ' <td align="center">Item Quantity- '. TABLE_HEADING_QUANTITY .': '. $listing['products_quantity'] . '</td>' . "rn" . ' </tr>' . "rn"; break; // Row: Product's weight case 'PRODUCT_LIST_WEIGHT': $lc_text .= ' <tr>' . "rn" . ' <td align="center">'. TABLE_HEADING_WEIGHT .': '. $listing['products_weight'] . '</td>' . "rn" . ' </tr>' . "rn"; break; // Row: Buy now button case 'PRODUCT_LIST_BUY_NOW': $lc_text .= ' <tr>' . "rn" . ' <td align="center">Purchase Item- <a href="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=buy_now&products_id=' . $listing['products_id']) . '">' . tep_image_button('button_buy_now.gif', IMAGE_BUTTON_BUY_NOW) . '</a></td>' . "rn" . ' </tr>' . "rn"; break; break; } } $lc_text .= '</table>' . "rn"; $list_box_contents[$row][$col] = array( 'align' => $lc_align, 'params' => 'width="'. round(100/PRODUCT_LIST_COLUMNS) .'%" class="productListing-data"', 'text' => $lc_text ); $col ++; if ($col > (PRODUCT_LIST_COLUMNS-1)) { $col = 0; $row ++; } } while ($col != 0 && sizeof($list_box_contents[$row]) < PRODUCT_LIST_COLUMNS) { $list_box_contents[$row][$col] = array( 'align' => 'center', 'params' => 'width="'. round(100/PRODUCT_LIST_COLUMNS) .'%"', 'text' => ' ' ); $col ++; } new productListingBox($list_box_contents); } else { $list_box_contents = array(); $list_box_contents[0] = array('params' => 'class="productListing-odd"'); $list_box_contents[0][] = array('params' => 'class="productListing-data"', 'text' => TEXT_NO_PRODUCTS); new productListingBox($list_box_contents); } if ( ($listing_split->number_of_rows > 0) && ((PREV_NEXT_BAR_LOCATION == '2') || (PREV_NEXT_BAR_LOCATION == '3')) ) { ?> <table border="0" width="100%" cellspacing="0" cellpadding="2"> <tr> <td class="smallText"><?php echo $listing_split->display_count(TEXT_DISPLAY_NUMBER_OF_PRODUCTS); ?></td> <td class="smallText" align="right"><?php echo TEXT_RESULT_PAGE . ' ' . $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td> </tr> </table> <?php } ?> This below step was easily located above and I was able to edit it- 3.1 Find (~line 22) </table> <?php } Replace With </table> <?php } /* BoF Compare Products side-by-side */ echo tep_draw_form('compare', tep_href_link("compare.php", tep_get_all_get_params(array('action')))); ?> </td> <?php /* EoF Compare Products side-by-side */ Now all below steps cannot be done as the code parts to be changed cannot be found in my document I pasted above Please help me where I can paste the below codes:- 3.2 Find (~line 26) $list_box_contents = array(); Replace With $list_box_contents = array(); /* BoF Compare Products side-by-side Insert first column to add checkbox to compare products */ $list_box_contents[0][] = array('align' => "center", 'params' => 'class="productListing-heading"', 'text' => TABLE_HEADING_COMPARE . ' ' . tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</form>'); /* EoF Compare Products side-by-side */ 3.3 Find if ($listing_split->number_of_rows > 0) { $rows = 0; Replace with if ($listing_split->number_of_rows > 0) { $rows = 0; /* BoF Compare Products side-by-side Generate hidden fields to submit with each checkbox */ $hidden_get_variables = ''; reset($HTTP_GET_VARS); while (list($key, $value) = each($HTTP_GET_VARS)) { if ((substr($key,0,8) != 'columns_') && ($key != tep_session_name()) && ($key != 'x') && ($key != 'y')) { $hidden_get_variables .= tep_draw_hidden_field($key, $value); } } /* EoF Compare Products side-by-side */ 3.4 Find while ($listing = tep_db_fetch_array($listing_query)) { $rows++; Replace with while ($listing = tep_db_fetch_array($listing_query)) { $rows++; /* BoF Compare Products side-by-side Hide all columns selected except for this product, which will be generated by the checkbox form is needed */ $hidden_get_columns = ''; reset($HTTP_GET_VARS); while (list($key, $value) = each($HTTP_GET_VARS)) { if ((substr($key,0,8) == 'columns_') && ($key != 'columns_'.$listing['products_id']) ) { $hidden_get_columns .= tep_draw_hidden_field($key, $value); } } /* EoF Compare Products side-by-side */ 3.5 Find (~line 85) $cur_row = sizeof($list_box_contents) - 1; Replace with $cur_row = sizeof($list_box_contents) - 1; /* BoF Compare Products side-by-side Add checkbox to compare products */ $lc_align = 'center'; $lc_text = tep_draw_checkbox_field('columns[]',$listing['products_id']); $list_box_contents[$cur_row][] = array('align' => $lc_align, 'params' => 'class="productListing-data"', 'text' => $lc_text); /* EoF Compare Products side-by-side */ Please help me I would be very elated to use this addon to my website. Edited November 3, 2011 by Jan Zonjee spam Quote
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.
Note: Your post will require moderator approval before it will be visible.