dumadiscount Posted March 10, 2007 Share Posted March 10, 2007 Can someone please help me find out how to center the price in my product_listing.php page. I've tried aligning everything to center but the price remains left aligned. Should I be looking somewhere else other than product_listing.php? Here is my code FYI. <?php /* $Id: product_listing.php,v 1.44 2003/06/09 22:49:59 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright (c) 2003 osCommerce Released under the GNU General Public License */ // Begin View All. $listing_split = new splitPageResults($listing_sql, (isset($HTTP_GET_VARS['view_all']) ? MAX_VIEW_ALL_ROWS : MAX_DISPLAY_SEARCH_RESULTS), 'p.products_id'); // End View All. 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 $listing_split->display_links(MAX_DISPLAY_PAGE_LINKS, tep_get_all_get_params(array('page', 'info', 'x', 'y'))); ?></td> </tr> </table> <?php } $list_box_contents = array(); for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_text = TABLE_HEADING_MODEL; $lc_align = ''; break; case 'PRODUCT_LIST_NAME': $lc_text = TABLE_HEADING_PRODUCTS; $lc_align = ''; break; case 'PRODUCT_LIST_MANUFACTURER': $lc_text = TABLE_HEADING_MANUFACTURER; $lc_align = ''; break; case 'PRODUCT_LIST_PRICE': $lc_text = TABLE_HEADING_PRICE; $lc_align = 'center'; break; case 'PRODUCT_LIST_QUANTITY': $lc_text = TABLE_HEADING_QUANTITY; $lc_align = 'center'; break; case 'PRODUCT_LIST_WEIGHT': $lc_text = TABLE_HEADING_WEIGHT; $lc_align = 'center'; break; case 'PRODUCT_LIST_IMAGE': $lc_text = TABLE_HEADING_IMAGE; $lc_align = 'center'; break; case 'PRODUCT_LIST_BUY_NOW': $lc_text = TABLE_HEADING_BUY_NOW; $lc_align = 'center'; break; } if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') ) { $lc_text = tep_create_sort_heading($HTTP_GET_VARS['sort'], $col+1, $lc_text); } $list_box_contents[0][] = array('align' => $lc_align, 'params' => 'class="productListing-heading"', 'text' => ' ' . $lc_text . ' '); } if ($listing_split->number_of_rows > 0) { $rows = 0; $column = 0; echo ' <table cellspacing=0 cellpadding=0> <tr><td height=10></td></tr> <tr><td height=10 class=sc1> '.$breadcrumb->trail(' » ').'</td></tr> <tr><td height=15></td></tr> <tr><td class=bg1> <table cellspacing=0 cellpadding=0> <tr> '; $listing_query = tep_db_query($listing_split->sql_query); while ($listing = tep_db_fetch_array($listing_query)) { $product_contents = array(); $rows++; if (($rows/2) == floor($rows/2)) { $list_box_contents[] = array('params' => 'class="productListing-even"'); } else { $list_box_contents[] = array('params' => 'class="productListing-odd"'); } $cur_row = sizeof($list_box_contents) - 1; for ($col=0, $n=sizeof($column_list); $col<$n; $col++) { $lc_align = ''; switch ($column_list[$col]) { case 'PRODUCT_LIST_MODEL': $lc_align = ''; $lc_text = ' ' . $listing['products_model'] . ' '; break; case 'PRODUCT_LIST_NAME': $lc_align = ''; if (isset($HTTP_GET_VARS['manufacturers_id'])) { $lc_text = '<a class=ml5 href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>'; } else { $lc_text = '<a class=ml5 href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>'; } break; case 'PRODUCT_LIST_MANUFACTURER': $lc_align = ''; $lc_text = ' <a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $listing['manufacturers_id']) . '">' . $listing['manufacturers_name'] . '</a> '; break; case 'PRODUCT_LIST_PRICE': $lc_align = 'center'; if (tep_not_null($listing['specials_new_products_price'])) { $lc_text = '<span style="color:#7F7F7F;font-size:10px"><s>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</s></span> <span style="color:#ff0000" class=sc2>' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span>'; } else { $lc_text = '<span> ' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . ' </span>'; } break; case 'PRODUCT_LIST_QUANTITY': $lc_align = 'center'; $lc_text = ' ' . $listing['products_quantity'] . ' '; break; case 'PRODUCT_LIST_WEIGHT': $lc_align = 'center'; $lc_text = ' ' . $listing['products_weight'] . ' '; break; case 'PRODUCT_LIST_IMAGE': $lc_align = 'center'; if (isset($HTTP_GET_VARS['manufacturers_id'])) { $lc_text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WSS_IMAGES . $listing['products_image'], $listing['products_name'], MEDIUM_IMAGE_WIDTH, MEDIUM_IMAGE_HEIGHT) . '</a>'; } else { $lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WSS_IMAGES . $listing['products_image'], $listing['products_name'], MEDIUM_IMAGE_WIDTH, MEDIUM_IMAGE_HEIGHT) . '</a> '; } break; case 'PRODUCT_LIST_BUY_NOW': $lc_align = 'center'; $lc_text = '<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> '; break; } $list_box_contents[$cur_row][] = array('align' => $lc_align, 'params' => 'class="productListing-data"', 'text' => $lc_text); $product_contents[] = $lc_text; } $product_query = tep_db_query("select products_description from " . TABLE_PRODUCTS_DESCRIPTION . " where products_id = '" . (int)$listing['products_id'] . "' and language_id = '" . (int)1 . "'"); $product = tep_db_fetch_array($product_query); $new_products['products_description'] = $product['products_description']; echo ' <td width=156 valign=top> <table cellspacing=0 cellpadding=0 width=130 align=center> <tr><td height=1></td></tr> <tr><td align=center>'.$product_contents[0].'</td></tr> <tr><td height=1></td></tr> <tr><td align=center height=45 valign=middle>'.$product_contents[1].'</td></tr> <tr><td height=5></td></tr> <tr><td align=left class=sc2 height=15>'.$product_contents[2].'</td></tr> <tr><td height=10></td></tr> </table> </td> '; $column ++; if ($column >= 3) { $rows ++; $column = 0; echo ' </tr> <tr> '; } else echo '<td width=1></td>'; } echo ' </tr> </table> </td></tr> <tr><td height=10></td></tr> </table> '; //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); echo '<div class=PageHeading>Categories</div>'; 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 height=20></td></tr> <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 } ?> Link to comment Share on other sites More sharing options...
lstra Posted March 10, 2007 Share Posted March 10, 2007 Can you post your site URL so I can take a look Link to comment Share on other sites More sharing options...
dumadiscount Posted March 10, 2007 Author Share Posted March 10, 2007 Can you post your site URL so I can take a look Link to my website (product listing for a manufacturer) Link to comment Share on other sites More sharing options...
dumadiscount Posted March 11, 2007 Author Share Posted March 11, 2007 anyone pretty please? :) Link to comment Share on other sites More sharing options...
Guest Posted March 11, 2007 Share Posted March 11, 2007 your template code rearranges stuff. So these align center code lines you added do nothing. Here is the code you need to change: echo ' <td width=156 valign=top> <table cellspacing=0 cellpadding=0 width=130 align=center> <tr><td height=1></td></tr> <tr><td align=center>'.$product_contents[0].'</td></tr> <tr><td height=1></td></tr> <tr><td align=center height=45 valign=middle>'.$product_contents[1].'</td></tr> <tr><td height=5></td></tr> <tr><td align=left class=sc2 height=15>'.$product_contents[2].'</td></tr> <tr><td height=10></td></tr> </table> </td> '; The problem is such template code is used with other pages and does not specify the key in the array elements (what they represent) This is a poor way to change the layout between different page listings and causes all kinds of side effects like the one you experience. If you change <tr><td align=left class=sc2 height=15>'.$product_contents[2].'</td></tr> to this: <tr><td align="center" class=sc2 height=15>'.$product_contents[2].'</td></tr> it will probably work for this particular page but it may break others where you may need this left alignment for the 3rd array element. Why they specify it anyways? Link to comment Share on other sites More sharing options...
dumadiscount Posted March 18, 2007 Author Share Posted March 18, 2007 thanks enigma!!! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.