Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Add quantity box to products listing


wazap

Recommended Posts

Hi.

 

I am triying to add a quantity box on the products listings. At the moment i have added a contribution that allows me to show 5 products per line but i cannot find a way that i can add a quantity box to the listings.

 

My products_listing.php is:

 

 

<?php

/*

$Id: product_listing.php 1739 2007-12-20 00:52:16Z hpdl $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

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 on product listing modules', 'PRODUCT_LIST_COLUMNS', '5', 'Set the number of products per row to display?', '8', '20', 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">' . "\r\n";

 

foreach ($column_list as $column) {

switch($column) {

 

// Row: Products model

case 'PRODUCT_LIST_MODEL':

$lc_text .= ' <tr>' . "\r\n"

. ' <td class="main" align="center">'. $listing['products_model'] . '</td>' . "\r\n"

. ' </tr>' . "\r\n";

break;

 

// Row: Product's image

case 'PRODUCT_LIST_IMAGE':

$lc_text .= ' <tr>' . "\r\n"

. ' <td class="main" 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>' . "\r\n"

. ' </tr>' . "\r\n";

break;

 

// Row: Product's name

case 'PRODUCT_LIST_NAME':

$lc_text .= ' <tr>' . "\r\n"

. ' <td class="main" 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']) . '">' . $listing['products_name'] . '</a></td>' . "\r\n"

. ' </tr>' . "\r\n";

break;

 

// Row: Manufacturer's name

case 'PRODUCT_LIST_MANUFACTURER':

$lc_text .= ' <tr>' . "\r\n"

. ' <td class="main" align="center"><span style="color: #666666;">'. $listing['manufacturers_name'] . '</span></td>' . "\r\n"

. ' </tr>' . "\r\n";

break;

 

// Row: Price

case 'PRODUCT_LIST_PRICE':

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

$lc_text .= ' <tr>' . "\r\n"

. ' <td class="main" align="center"><s>' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) .'</s><br><span class="productSpecialPrice">'. $currencies->display_price($listing['specials_new_products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</span></td>' . "\r\n"

. ' </tr>' . "\r\n";

} else {

$lc_text .= ' <tr>' . "\r\n"

. ' <td class="main" align="center">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</td>' . "\r\n"

. ' </tr>' . "\r\n";

}

break;

 

// Row: Product's quantity

case 'PRODUCT_LIST_QUANTITY':

$lc_text .= ' <tr>' . "\r\n"

. ' <td class="main" align="center">'. TABLE_HEADING_QUANTITY .': '. $listing['products_quantity'] . '</td>' . "\r\n"

. ' </tr>' . "\r\n";

break;

 

// Row: Product's weight

case 'PRODUCT_LIST_WEIGHT':

$lc_text .= ' <tr>' . "\r\n"

. ' <td class="main" align="center">'. TABLE_HEADING_WEIGHT .': '. $listing['products_weight'] . '</td>' . "\r\n"

. ' </tr>' . "\r\n";

break;

 

// Row: Buy now button

case 'PRODUCT_LIST_BUY_NOW':

$lc_text .= ' <tr>' . "\r\n"

. ' <td class="main" align="center"><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>' . "\r\n"

. ' </tr>' . "\r\n";

break;

}

}

 

$lc_text .= '</table>' . "\r\n";

 

$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

}

?>

 

 

Can you please tell me a way i can add it.

 

Best regards

Richard

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...