Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

How to edit my products listing


Guest

Recommended Posts

Posted

Hi osCommerce experts!

 

I'm sitting here, trying to create a shop which should hit the air pretty soon, and I want to change the way my products are listed, when you enter a category.

 

Right now it's listed using the standard layout which in HTML (cutted down to the bone) would look like this:

 

<table>

____<tr>

________<td>Product 1</td>

____</tr>

____<tr>

________<td>Product 2</td>

____</tr>

____<tr>

________<td>Product 3</td>

____</tr>

</table>

 

Now I want that layout to be changed, and I want my new layout to be like this (having to products in each row instead of only one):

 

<table>

____<tr>

________<td>Product 1</td>

________<td>Product 2</td>

____</tr>

____<tr>

________<td>Product 3</td>

________<td>Product 4</td>

____</tr>

</table>

 

 

Ofcourse the above are only examples, but I'm sure that you guys can get an idea of what I want to do.

I've been looking in product_listing.php and I'm quite sure that this is the file that need to be edited, but I can't figure out how exactly to do it.

You must know, I'm kinda novice when it comes to PHP and such. I can do a backup and such in myPHPadmin and I understand the very basics of PHP, and that's about it, but when it comes to CSS, HTML, XHTML and such I'm doing very well and I'm not scared of editing the codes.

 

Sorry for my misspelling - I'm from Denmark. :)

 

I really hope you guys could should me the way through the hills, making my product listing as i want it!

 

This is my complete source-code in my product_listing.php (found in root\includes\modules):

 

<?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 © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

if (isset($pw_mispell)){

//added for search enhancements mod

?>

<table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr><td><?php echo $pw_string; ?></td></tr>

</table>

<?php

}

//end added search enhancements mod

$listing_split = new splitPageResults($listing_sql, MAX_DISPLAY_SEARCH_RESULTS, 'p.products_id');

// fix counted products

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="3">

<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

}

 

$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_SHORT_DESCRIPTION':

$lc_text = TABLE_HEADING_SHORT_DESCRIPTION;

$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 = 'right';

break;

case 'PRODUCT_LIST_QUANTITY':

$lc_text = TABLE_HEADING_QUANTITY;

$lc_align = 'right';

break;

case 'PRODUCT_LIST_WEIGHT':

$lc_text = TABLE_HEADING_WEIGHT;

$lc_align = 'right';

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;

}

 

//sort order

if ($column_list[$col] == 'PRODUCT_LIST_SORT_ORDER'){break;}

if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') && ($column_list[$col] != 'PRODUCT_LIST_MULTIPLE') && ($column_list[$col] != 'PRODUCT_LIST_SHORT_DESCRIPTION')) {

// if ( ($column_list[$col] != 'PRODUCT_LIST_BUY_NOW') && ($column_list[$col] != 'PRODUCT_LIST_IMAGE') && ($column_list[$col] != 'PRODUCT_LIST_SHORT_DESCRIPTION')) {

//end sort order

$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;

$listing_query = tep_db_query($listing_split->sql_query);

while ($listing = tep_db_fetch_array($listing_query)) {

$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 = '';

 

//sort order

if ($column_list[$col] == 'PRODUCT_LIST_SORT_ORDER'){

break;

}

//end sort order

 

if ((SHOW_PRICE_PER == 'Ja') && (isset($listing['products_price_per']))) {

if (($listing['products_price_per']) >= '2'){

$price_per = $listing['products_price_per'] . ' ' . TEXT_PRICE_PER;

} else {

if (($listing['products_price_per']) == '1') {

$price_per = TEXT_PRICE_PER_PCS;

} else {

$price_per = '';

}

}

}

 

switch ($column_list[$col]) {

case 'PRODUCT_LIST_MODEL':

$lc_align = '';

$lc_text = ' ' . $listing['products_model'] . ' ';

break;

case 'PRODUCT_LIST_NAME':

$lc_align = '';

if (PRODUCT_LIST_COMBINE_NAME_DESCRIPTION == 'false') {

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']) . '">' . $listing['products_name'] . '</a>';

} else {

$lc_text = ' <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a> ';

}

} else {

 

if (isset($HTTP_GET_VARS['manufacturers_id'])) {

$lc_text = '

<table width="100%" border="0" cellspacing="0" cellpadding="2" class="producktListName">

<tr>

<td class="productListName">

<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>

</td>

</tr>

<tr>

<td class="productListDescription">' . $listing['products_short_description'] . '</td>

</tr>

<tr>

<td class="productListMore" align="right">

<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '" class="productListDescription">' . READ_MORE . '</a>

</td>

</tr>

</table>';

} else {

$lc_text = '

<table width="100%" border="0" cellspacing="0" cellpadding="2">

<tr>

<td class="productListName">

<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '">' . $listing['products_name'] . '</a>

</td>

</tr>

<tr>

<td class="productListDescription">' . $listing['products_short_description'] . '</td>

</tr>

<tr>

<td class="productListMore" align="right">

<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($cPath ? 'cPath=' . $cPath . '&' : '') . 'products_id=' . $listing['products_id']) . '" class="productListDescription">' . READ_MORE . '</a>

</td>

</tr>

</table>';

}

}

 

break;

case 'PRODUCT_LIST_SHORT_DESCRIPTION':

$lc_align = '';

$lc_text = $listing['products_short_description'] . ' ';

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 = 'right';

if (PRODUCT_LIST_COMBINE_PRICE_BUY == 'false'){

if (tep_not_null($listing['specials_new_products_price'])) {

$lc_text = '

<table border="0" cellspacing="0" cellpadding="0" class="productListPrice">

<tr>

<td valign="top" align="right" class="productListSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</td>

</tr>

<tr>

<td valign="top" class="productListNormalPrice">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</td>

</tr>

</table>';

} else {

$lc_text = '<table border="0" cellspacing="0" cellpadding="0" class="productListPrice"><tr><td valign="top" align="right" class="productListPricePer">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</td></tr></table>';

}

} else {

if (tep_not_null($listing['specials_new_products_price'])) {

$lc_text = '<table border="0" cellspacing="0" cellpadding="0" class="productListPrice"><tr><td align="right" class="productListPricePer">' . $price_per . '</td></tr><tr><td valign="top" align="right" class="productListSpecialPrice">' . $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</td></tr><tr><td valign="top" align="right" class="productListNormalPrice">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</tr><tr><td align="right" class="productListBuyNow"><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></tr></table>';

} else {

$lc_text = '<table border="0" cellspacing="0" cellpadding="0" class="productListPrice"><tr><td align="right" class="productListPricePer">' . $price_per . '</td></tr><tr><td valign="top" align="right" class="productListPrice">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</td></tr><tr><td align="right" class="productListBuyNow"><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></tr></table>';

}

}

 

break;

case 'PRODUCT_LIST_QUANTITY':

$lc_align = 'right';

$lc_text = ' ' . $listing['products_quantity'] . ' ';

break;

case 'PRODUCT_LIST_WEIGHT':

$lc_align = 'right';

$lc_text = ' ' . $listing['products_weight'] . ' ';

break;

case 'PRODUCT_LIST_IMAGE':

$lc_align = 'center';

if (isset($HTTP_GET_VARS['manufacturers_id'])) {

$lc_text = '<table width="' . SMALL_IMAGE_WIDTH . '" border="0" cellspacing="0" cellpadding="2"><tr><td align="center" class="productListImage"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'manufacturers_id=' . $HTTP_GET_VARS['manufacturers_id'] . '&products_id=' . $listing['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $listing['products_image'], $listing['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td></tr><tr><td align="center" ><a href="' . tep_href_link(DIR_WS_IMAGES . $listing['products_image']) . '" rel="lightbox" title="' . $listing['products_name'] . '" >' . CLICK_TO_ENLARGE . '</a></td></tr></table>';

} else {

$lc_text = '<table width="' . SMALL_IMAGE_WIDTH . '" border="0" cellspacing="0" cellpadding="2"><tr><td align="center" class="productListImage"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, ($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></tr><tr><td align="center" ><a href="' . tep_href_link(DIR_WS_IMAGES . $listing['products_image']) . '" rel="lightbox" title="' . $listing['products_name'] . '" >' . CLICK_TO_ENLARGE . '</a></td></tr></table>';

}

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" valign="top"',

'text' => $lc_text);

}

}

 

new productListingBox($list_box_contents);

} else {

$list_box_contents = array();

 

$list_box_contents[0] = array('params' => 'class="productListing-odd" valign="top"');

$list_box_contents[0][] = array('params' => 'valign="top"',

'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="3">

<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

}

?>

 

 

 

Best regards,

Michael

Posted

If you want to change product listings:

Product Listing Enhancements, Thumbnails & Manufacturer Headings http://addons.oscommerce.com/info/6051

provides plenty of options.

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

Posted

It didn't work out. My osCommerce is a part of a complete package including different contributions, and that's why my source doesn't look like the standard osCommerce.

 

Do I really _need_ to have ex. "featured products" installed in order to make "Product Listing Enhancements, Thumbnails & Manufacturer Headings" work?

Posted

It didn't work out. My osCommerce is a part of a complete package including different contributions, and that's why my source doesn't look like the standard osCommerce.

 

Do I really _need_ to have ex. "featured products" installed in order to make "Product Listing Enhancements, Thumbnails & Manufacturer Headings" work?

 

 

No, for the basic stuff u only need to replace the product_listing.php module, modify the index.php so sql is generated ok & run the install to add the admin controls

Sam

 

Remember, What you think I ment may not be what I thought I ment when I said it.

 

Contributions:

 

Auto Backup your Database, Easy way

 

Multi Images with Fancy Pop-ups, Easy way

 

Products in columns with multi buy etc etc

 

Disable any Category or Product, Easy way

 

Secure & Improve your account pages et al.

  • 1 month later...
Posted

No, for the basic stuff u only need to replace the product_listing.php module, modify the index.php so sql is generated ok & run the install to add the admin controls

 

Ok. Thanks :)

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...