Jeremy, on Dec 3 2003, 04:49 PM, said:
I would like it if when a slave products quantity reached 0, it would still be listed, but you just would not be able to add it to your cart.
Around lines 57-9 of includes/modules/master_products.php, comment out
/*case 'MASTER_LIST_QUANTITY':
$select_column_list .= 'p.products_quantity, ';
break;*/
Around line 69, add p.products_quantity, just before p.products_id in the $master_sql definition, so it looks like this:
$master_sql = "select " . $select_column_list . " p.products_quantity, p.products_id, p.manufacturers_id, p.products_model, p.products_image, p.products_tax_class_id, pd.products_name, s.specials_new_products_price, s.status, p.products_price, p.products_master, m.manufacturers_name from ". TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_MANUFACTURERS . " m, " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id where p.products_id !=" . (int)$HTTP_GET_VARS['products_id'] . " and p.products_id = pd.products_id and p.products_master = '" . $thisquery['products_master'] . "' and p.manufacturers_id = m.manufacturers_id and p.products_status = '1' and pd.language_id = '" . (int)$languages_id . "'";
Around lines 159-186 of includes/modules/master_listing.php, change the buy_now case to (by adding if and new code in else):
case 'MASTER_LIST_BUY_NOW':
if ($listing['products_quantity'] > 0) {
echo '<form name="buy_now_" method="post" action="' . tep_href_link(basename($PHP_SELF), tep_get_all_get_params(array('action')) . 'action=add_slave', 'NONSSL') . '">';
$lc_align = 'center';
$lc_valign = 'top';
$lc_text = '<select name="Qty_ProdId_' . $listing['products_id'] . '" value="0" class="main" style="width: 40px">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<option value="13">13</option>
<option value="14">14</option>
<option value="15">15</option>
<option value="16">16</option>
<option value="17">17</option>
<option value="18">18</option>
<option value="19">19</option>
<option value="20">20</option>
</select>';
} else {
$lc_align = 'center';
$lc_valign = 'top';
$lc_text = TEXT_OUT_OF_STOCK;
}
break;To includes/languages/english/product_info.php (or whatever language) add
define('TEXT_OUT_OF_STOCK', 'Out of stock');Edit wording as desired.
Hth,
Matt