Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[Contribution] Admin Specials by Category


bruyndoncx

Recommended Posts

Hi bruyndoncx

I have working all weekend trying to insert a start date and and end date into your contribution. It is something I could really use and I think others might too. Was wondering if you would be willing to help a little as you are the author and no the ends and outs better than anyone. I was tring to put in a js calendar like in specials.php and/or categories.php...I thought I was about 90% there but now I think I am more like 80% there. I think all the whistles are mostly there, they just aren't blowing and I don't think I know php as well as I would like and definitely don't know java. I am willing to do all the work and testing if you would give me a push in the right direction. Below is an image of what I have so far (not happy with the layout of the Start Date and End date) in the gray box, but that is the least of my worries right now.

Picture2.png

 

Code wise like I said , I think I have all the componets in there, just not worded right or in the right place.

Heres what I have:

 
<?php
/*
 $Id: specialsbycategory.php,v 2.0 2006/11/07 18:18:00 stephenwald Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2005 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
 <title><?php echo HEADING_TITLE; ?></title>
 <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
 <script language="javascript" src="includes/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">

<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<table border="0" width="100%" cellspacing="2" cellpadding="2">
 <tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->

</table>
 </td>

 <!-- body_text //-->
 ?>

<script language="javascript">
 var dateAvailable = new ctlSpiffyCalendarBox("dateAvailable", "new_product", "products_date_available","btnDate1","<?php echo $pInfo->products_date_available; ?>",scBTNMODE_CUSTOMBLUE);
</script>
<script language="javascript">

<link rel="stylesheet" type="text/css" href="includes/javascript/spiffyCal/spiffyCal_v2_1.css">

<script language="JavaScript" src="includes/javascript/spiffyCal/spiffyCal_v2_1.js"></script>

<script language="javascript">

var dfrom = new ctlSpiffyCalendarBox("dfrom", "specials", "valid_from_date", "btnDate1","<?php echo $dfrom; ?>",scBTNMODE_CUSTOMBLUE);


var dto = new ctlSpiffyCalendarBox("dto", "specials", "expires_date", "btnDate2","<?php echo $dto; ?>",scBTNMODE_CUSTOMBLUE);

</script>

 <td valign="top">

<!----------------------- Actual code for Specials Admin starts here ------------------------->
<?php
 //Fetch all variables
 $categories = (isset($_GET['categories']) ? (int)$_GET['categories'] : '0');
 $manufacturer = (isset($_GET['manufacturer']) ? (int)$_GET['manufacturer'] : '0');

 if ($manufacturer) {
  $man_filter = " and manufacturers_id = '$manufacturer' ";
 } else {
$man_filter = ' ';
 }

 if (array_key_exists('discount',$_GET)) {
  if (is_numeric($_GET['discount'])) {
	$discount = (float)$_GET['discount'];
} else {
	$discount = -1;		
}
 } else { 
  $discount = -1;
 }
if($_POST['submit']) {
foreach($_POST['master'] as $m) {
 $fullprice = (isset($m['fullprice']) ? $m['fullprice'] : '');
 $productid = (isset($m['productid']) ? (int)$m['productid'] : '0');
 $inputspecialprice = (isset($m['inputspecialprice']) ? $m['inputspecialprice'] : 'none');
 if ($fullprice == 'yes') {
tep_db_query("DELETE FROM " . TABLE_SPECIALS . " WHERE products_id=$productid;");
continue;
 }
 if($inputspecialprice != "none"){
if (substr($inputspecialprice, -1) == '%') {
  $productprice = (isset($m['productprice']) ? (float)$m['productprice'] : '');
  $specialprice = ($productprice - (($inputspecialprice / 100) * $productprice));
} else if (substr($inputspecialprice, -1) == 'i') {
  $taxrate = (isset($m['taxrate']) ? (float)$m['taxrate'] : '1');
  $productprice = (isset($m['productprice']) ? (float)$m['productprice'] : '');
  $specialprice = ($inputspecialprice /(($taxrate/100)+1));
} else {
 	$specialprice = $inputspecialprice;
}
$alreadyspecial = tep_db_query ("SELECT * FROM " . TABLE_SPECIALS . " WHERE products_id=$productid");
$specialproduct= tep_db_fetch_array($alreadyspecial);
if ($specialproduct["specials_id"]){
//	  print ("Database updated. Status:".$specialproduct["status"]);
  tep_db_query ("UPDATE " . TABLE_SPECIALS . " SET specials_new_products_price='$specialprice' where products_id=$productid  "); 
} else{
//	  print("New product added to specials table");
  $today = date("Y-m-d H:i:s");
// Fix v1.3 - spell out columns so this also works when columns have been added to the specials table.
// Fix v1.4 - set default expiration date to '0' and last modified to $today.
// ORIGINAL	 tep_db_query ("INSERT INTO " . TABLE_SPECIALS . " VALUES ('','$productid','$specialprice','$today','','','','1')");
//*******ADDED BELOW IN ATTEMPT TO GET ADD BEGIN AND END TO SPECIAL CATEGORIES CONTRIBUTION*******FROM SPECIALS*******//
	tep_db_query ("INSERT INTO " . TABLE_SPECIALS . " (specials_id, products_id, specials_new_products_price, specials_date_added, specials_last_modified, expires_date, date_status_change, status, valid_from_date) VALUES ('" . (int)$products_id . "', '" . tep_db_input($specials_price) . "', now(), now(), '" . tep_db_input($expires_date) . "', now(), '1', '".  tep_db_input($valid_from_date)  ."')");
}
 }
}
}
?>
<form action="<?php echo $current_page; ?>" method="get">
<table><tr class="dataTableHeadingRow"><td class="dataTableHeadingContent" colspan="6">
<?php
 echo TEXT_SELECT_CAT .' ' . tep_draw_pull_down_menu('categories', tep_get_category_tree(), $categories);

 //BoF Added v1.4 allow selection by manufacturer
 $manufacturers_array = array(array('id' => '', 'text' => TEXT_NONE));
 $manufacturers_query = tep_db_query("select manufacturers_id, manufacturers_name from " . TABLE_MANUFACTURERS . " order by manufacturers_name");
 while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {
$manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'],
							 'text' => $manufacturers['manufacturers_name']);
 }
 echo TEXT_SELECT_MAN . ' ' . tep_draw_pull_down_menu('manufacturer',$manufacturers_array, $manufacturer) .'   ';
 //EoF Added v1.4

 echo TEXT_ENTER_DISCOUNT . ':  ';
?>
<input type="text" size="4" name="discount" value="
<?php 
 if ($discount > 0) { echo $discount; }
 echo '">' . TEXT_PCT_AND . ' '; 

?>


		<?php echo TEXT_SPECIALS_VALIDFROM_DATE; ?><br><small>(DD-MM-YYYY)</small> 
		  <?php echo tep_draw_input_field('dfrom', (isset($sInfo->valid_from_date) ? substr($sInfo->valid_from_date, 0, 10) : ''), 'size="4" maxlength="10" class="cal-TextBox"'); ?><?php echo tep_image(DIR_WS_IMAGES . 'cal_date_up.gif', 'Calendar', '22', '17', 'align="absmiddle" name="btnDate1"'); ?><script language="javascript">valid_from_date.writeControl(); valid_from_date.dateFormat="dd/MM/yyyy";</script>		

	   <?php echo TEXT_SPECIALS_EXPIRES_DATE; ?><br><small>(DD-MM-YYYY)</small> 
		<?php echo tep_draw_input_field('dto', (isset($sInfo->expires_date) ? substr($sInfo->expires_date, 0, 10) : ''), 'size="4" maxlength="10" class="cal-TextBox"'); ?><?php echo tep_image(DIR_WS_IMAGES . 'cal_date_up.gif', 'Calendar', '22', '17', 'align="absmiddle" name="btnDate2"'); ?></a><script language="javascript">expires_date.writeControl(); expires_date.dateFormat="dd/MM/yyyy";</script>		



<input type="submit" value="<?php echo TEXT_BUTTON_SUBMIT; ?>">
</form></td></tr>
<tr class="dataTableContent"><td class="dataTableContent" colspan="6">
<ul><li><?php echo TEXT_INSTRUCT_1; ?></li>
<li><?php echo TEXT_INSTRUCT_2; ?></li>
</ul>
</td></tr>
<?php
 if ($discount == -1) {
  //echo 'do nothing';
 } else if ($discount == 0) {
  //BoF Changed v1.4 
  if ($categories) {
  $result2 = tep_db_query("select p.products_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . 
						  " ptc where p.products_id=ptc.products_id and ptc.categories_id=$categories" . $man_filter);
} else {
  $result2 = tep_db_query("select p.products_id from " . TABLE_PRODUCTS . " p where 1=1" . $man_filter);
}
  //EoF Changed v1.4 

while ( $row = tep_db_fetch_array($result2) ){
  $allrows[] = $row["products_id"];
}
tep_db_query("DELETE FROM " . TABLE_SPECIALS . " WHERE products_id in ('".implode("','",$allrows)."')");
 } else if ($discount > 0) {  
$specialprice = $discount / 100;

  //BoF Changed v1.4 
  if ($categories) {
  $result2 = tep_db_query("select p.products_id, p.products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . 
						  " ptc where p.products_id=ptc.products_id and ptc.categories_id=$categories" . $man_filter);
} else {
	$result2 = tep_db_query("select p.products_id, p.products_price from " . TABLE_PRODUCTS . " p where 1=1 " . $man_filter);
}
  //EoF Changed v1.4 

while ( $row = tep_db_fetch_array($result2) ){
  $hello2 = $row["products_price"];
  $hello3 = $hello2 * $specialprice;
  $hello4 = $hello2 - $hello3;
  $number = $row["products_id"];
  $result3 = tep_db_query("select * from " . TABLE_SPECIALS . " where products_id = $number");
  $num_rows = tep_db_num_rows($result3);
  if ($num_rows == 0){
	  //echo "Insert into specials (products_id, specials_new_products_price) values ($number, '$hello4')"; 
	//Fix v1.4 set default expiration date to '0' and status active.

//tep_db_query("Insert into " . TABLE_SPECIALS . " (products_id, specials_new_products_price) values ($number, '$hello4')");
//ORIGINAL		tep_db_query ("INSERT INTO " . TABLE_SPECIALS . " (products_id, specials_new_products_price, specials_date_added, specials_last_modified, expires_date, date_status_change, status ) VALUES ('$number','$hello4','$today','$today','0','','1')");

//*******MY ATTEMPT AT GETTING START AND END IN SPECIALS CATEGORIES*****FROM SPECIALS**********		 
	  tep_db_query ("INSERT INTO " . TABLE_SPECIALS . " (products_id, specials_new_products_price, specials_date_added, specials_last_modified, expires_date, date_status_change, status, valid_from_date ) VALUES ('". (int)$products_id . "', '" . tep_db_input($specials_price) . "', now(), now(), '" . tep_db_input($expires_date) . "', now(), '1', '".  tep_db_input($valid_from_date)  ."')");

} else {
	//echo "Update specials set specials_new_products_price='$hello4' where products_id=$number";
	tep_db_query ("Update " . TABLE_SPECIALS . " set specials_new_products_price='$hello4' where products_id=$number");
  }
}
 }
 print ("
		<tr class=\"dataTableHeadingRow\">
		<td class=\"dataTableHeadingContent\">". TABLE_HEADING_PRODUCTS ."</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_PRODUCTS_PRICE ."</td>
<!--***********MY ADDITIONS FROM ADD TABLE HEADINGS************************//-->
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_SPECIAL_START_DATE ."</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_SPECIAL_END_DATE ."</td>
 <!--***********MY ADDITIONS FROM ADD TABLE HEADINGS************************//-->		  

		<td class=\"dataTableHeadingContent\">Products Cost</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_SPECIAL_PRICE ."</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_PCT_OFF ."</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_FULL_PRICE . "</td>
		</tr>");

 //BoF Changed v1.4			 
 if ($categories) {
  $result2 = tep_db_query("SELECT * FROM " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . 
					  " ptc, " . TABLE_PRODUCTS . " p where pd.products_id=ptc.products_id and p.products_id=ptc.products_id 
		   and ptc.categories_id = $categories and pd.language_id = " .(int)$languages_id . $man_filter . " order by pd.products_name asc ");
 } else if ($manufacturer) {
  $result2 = tep_db_query("SELECT * FROM " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p where pd.products_id=p.products_id 
		   and pd.language_id = " .(int)$languages_id . $man_filter . " order by pd.products_name asc ");
 } else {
  $result2 = tep_db_query("SELECT * FROM " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . 
					  " ptc, " . TABLE_PRODUCTS . " p where pd.products_id=ptc.products_id and p.products_id=ptc.products_id 
		   and ptc.categories_id = $categories and pd.language_id = " .(int)$languages_id . $man_filter . " order by pd.products_name asc ");	  
 }
	//EoF Changed v1.4 
print("<form action=\"$current_page?categories=$categories&manufacturer=$manufacturer\" method=\"post\">");
$base=-1;
 while ( $row = tep_db_fetch_array($result2) ) {
$base++;
$number = $row["products_id"];
$result3 = tep_db_query("SELECT * FROM " . TABLE_SPECIALS . " where products_id=$number");
$num_rows = tep_db_num_rows($result3);
if ($num_rows == 0) {
  $specialprice = "none";
  $implieddiscount = '';
} else {
  while ( $row2 = tep_db_fetch_array($result3) ) {
	$specialprice = $row2["specials_new_products_price"];
	if ($row["products_price"] > 0) {
	  $implieddiscount = '-'.(int)(100-(($specialprice / $row["products_price"])*100)).'%';
	} else {
		$implieddiscount = '';
	}
  }
 }
$tax_rate = tep_get_tax_rate($row['products_tax_class_id']);


print("
<tr class=\"dataTableRow\" onmouseover=\"rowOverEffect(this)\" onmouseout=\"rowOutEffect(this)\" >
<td class=\"dataTableContent\">" . $row["products_name"] . "</td>
<td class=\"dataTableContent\">" . $row["products_price"] . "</td>
<!--//**************MY ADDITION TO SHOW START AND END DATE*********************//-->
 <td class=\"dataTableContent\">" . $row["valid_from_date"] . "</td>
<td class=\"dataTableContent\">" . $row["expires_date"] . "</td>
<!--//**************MY ADDTION TO SHOW START AND END DATE**********************// -->

<td class=\"smallText\" style=\"color:#777777\">" . $row["products_cost"] . "</td>
<td class=\"dataTableContent\"><input name=\"master[".$base."][inputspecialprice]\" type=\"text\" value=\"$specialprice\"></td>
<td class=\"dataTableContent\">$implieddiscount </td>
<td class=\"dataTableContent\"><input type=\"checkbox\" name=\"master[".$base."][fullprice]\" value=\"yes\"></td>
<td class=\"dataTableContent\"><input type=\"hidden\" name=\"master[".$base."][categories]\" value=\"" . $categories ."\">
<input type=\"hidden\" name=\"master[".$base."][productprice]\" value=\"" . $row["products_price"] . "\">
<input type=\"hidden\" name=\"master[".$base."][taxrate]\" value=\"" . $tax_rate . "\">	
<input type=\"hidden\" name=\"master[".$base."][productid]\" value=\"" . $number . "\">
  ");
 }
 print ("</table>");
 if($base>=0)  print ("<input type=\"submit\" name=\"submit\" value=\"" . TEXT_BUTTON_UPDATE . "\"></form>");
?>
<!------------------------ Code for Specials Admin ends here --------------------------->

</td>
 </tr>
</table>
<!-- body_text_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->

</body>
</html>

I think its not working because I don't quite understand the works of all the manufacturing stuff you have in there. I've left all of that alone, and think that is why its not working. And I know I do not have the javascript stuff right, I think it is a defining issue, something I am googling/researching/going out of my mind trying to understand, but I do think I am very close to getting it working

Too I am not sure what your intention was for products cost, it doesn't seem to do anything or collect any information, however I left it in there as I didn't want to mess with anything more than I already had.

I hope you don't find it offensive that I have attempted make changes to your contribution, I certainly don't mean to insult you, but it was in your notes as something to add some day and I thought, I want to learn php as much as I can, what better way then playing with it.

Hope you can help, you've helped me in the past on something else not to long ago, hope we can help each other.

Best Wishes

Teresa

Link to comment
Share on other sites

  • Replies 134
  • Created
  • Last Reply

Top Posters In This Topic

Hi bruyndoncx

Me again...Done a bunch of work today on the contribution...I've actually got it trying to put things into the database, which is better than before, somehow though I've messed up your $today as it does not want to added it anymore (looking to this) Here's an update on t he code Again, Hope you don't mind and hope you will point me in the right directions.

Teresa

<?php
/*
 $Id: specialsbycategory.php,v 2.0 2006/11/07 18:18:00 stephenwald Exp $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2005 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
 <title><?php echo HEADING_TITLE; ?></title>
 <link rel="stylesheet" type="text/css" href="includes/stylesheet.css">
 <script language="javascript" src="includes/general.js"></script>
</head>
<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0" bgcolor="#FFFFFF" onload="SetFocus();">

<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<table border="0" width="100%" cellspacing="2" cellpadding="2">
 <tr>
<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="1" cellpadding="1" class="columnLeft">

<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->

</table>
 </td>

 <!-- body_text //-->
 ?>

<script language="javascript">
 var dateAvailable = new ctlSpiffyCalendarBox("dateAvailable", "new_product", "products_date_available","btnDate1","<?php echo $pInfo->products_date_available; ?>",scBTNMODE_CUSTOMBLUE);
</script>
<script language="javascript">

<link rel="stylesheet" type="text/css" href="includes/javascript/spiffyCal/spiffyCal_v2_1.css">

<script language="JavaScript" src="includes/javascript/spiffyCal/spiffyCal_v2_1.js"></script>

<script language="javascript">

var dfrom = new ctlSpiffyCalendarBox("dfrom", "specials", "valid_from_date", "btnDate1","<?php echo $dfrom; ?>",scBTNMODE_CUSTOMBLUE);


var dto = new ctlSpiffyCalendarBox("dto", "specials", "expires_date", "btnDate2","<?php echo $dto; ?>",scBTNMODE_CUSTOMBLUE);

</script>

 <td valign="top">

<!----------------------- Actual code for Specials Admin starts here ------------------------->
<?php
 //Fetch all variables
 $categories = (isset($_GET['categories']) ? (int)$_GET['categories'] : '0');
 $manufacturer = (isset($_GET['manufacturer']) ? (int)$_GET['manufacturer'] : '0');

 if ($manufacturer) {
  $man_filter = " and manufacturers_id = '$manufacturer' ";
 } else {
$man_filter = ' ';
 }

 if (array_key_exists('discount',$_GET)) {
  if (is_numeric($_GET['discount'])) {
	$discount = (float)$_GET['discount'];
} else {
	$discount = -1;		
}
 } else { 
  $discount = -1;
 }
if($_POST['submit']) {
foreach($_POST['master'] as $m) {
 $fullprice = (isset($m['fullprice']) ? $m['fullprice'] : '');
 $productid = (isset($m['productid']) ? (int)$m['productid'] : '0');
 $inputspecialprice = (isset($m['inputspecialprice']) ? $m['inputspecialprice'] : 'none');
 if ($fullprice == 'yes') {
tep_db_query("DELETE FROM " . TABLE_SPECIALS . " WHERE products_id=$productid;");
continue;
 }
 if($inputspecialprice != "none"){
if (substr($inputspecialprice, -1) == '%') {
  $productprice = (isset($m['productprice']) ? (float)$m['productprice'] : '');
  $specialprice = ($productprice - (($inputspecialprice / 100) * $productprice));
} else if (substr($inputspecialprice, -1) == 'i') {
  $taxrate = (isset($m['taxrate']) ? (float)$m['taxrate'] : '1');
  $productprice = (isset($m['productprice']) ? (float)$m['productprice'] : '');
  $specialprice = ($inputspecialprice /(($taxrate/100)+1));
} else {
 	$specialprice = $inputspecialprice;
}
$alreadyspecial = tep_db_query ("SELECT * FROM " . TABLE_SPECIALS . " WHERE products_id=$productid");
$specialproduct= tep_db_fetch_array($alreadyspecial);
if ($specialproduct["specials_id"]){
//	  print ("Database updated. Status:".$specialproduct["status"]);
  tep_db_query ("UPDATE " . TABLE_SPECIALS . " SET specials_new_products_price='$specialprice' where products_id=$productid  "); 
} else{
//	  print("New product added to specials table");
  $today = date("Y-m-d H:i:s");
//*******************************MY ADDTIONS TO ADD START AND END DATE BOF****************
$valid_from_date = ('valid_from_date');
$valid_from_date = (date('dd-MM-YYYY') < $valid_from_date) ? $valid_from_date : 'null';

$expires_date = ('expires_date');
$expires_date = (date('dd-MM-YYYY') < $expires_date) ? $expires_date : 'null';
// $specials_date_added = ('specials_date_added');
//   $today =  'specials_date_added';							 
//  $specials_last_modified = ('specials_last_modified');
//  $specials_last_modified = '$today';

// $date_status_change = ('date_status_change');
//   $date_status_change = '$today';

// maybe the special product must be deactivated or actived (depending on wether the valid from/expires dates had been changed)
	if ($result == 1) {
		$new_specials_id = tep_db_insert_id();
		tep_db_query("update " . TABLE_SPECIALS . " set status = '0' where (now() < valid_from_date or (now() >= expires_date and expires_date > 0)) and specials_id = '" . (int)$new_specials_id . "'");
		tep_db_query("update " . TABLE_SPECIALS . " set status = '1' where (now() >= valid_from_date and now() < expires_date) and specials_id = '" . (int)$new_specials_id . "'");
	}


//***********************************MY ADDTIONS TO ADD START AND END DATE EOF*****************

// Fix v1.3 - spell out columns so this also works when columns have been added to the specials table.
// Fix v1.4 - set default expiration date to '0' and last modified to $today.
// ORIGINAL	 tep_db_query ("INSERT INTO " . TABLE_SPECIALS . " VALUES ('','$productid','$specialprice','$today','','','','1')");
//*******ADDED BELOW IN ATTEMPT TO GET ADD BEGIN AND END TO SPECIAL CATEGORIES CONTRIBUTION*******FROM SPECIALS*******//
	tep_db_query ("INSERT INTO " . TABLE_SPECIALS . "  VALUES ('', '$products_id', '$specialprice', '$today', '$today', '$expires_date', '$today', '1', '$valid_from_date')");
}
 }
}
}
?>
<form action="<?php echo $current_page; ?>" method="get">
<table><tr class="dataTableHeadingRow"><td class="dataTableHeadingContent" colspan="6">
<?php
 echo TEXT_SELECT_CAT .' ' . tep_draw_pull_down_menu('categories', tep_get_category_tree(), $categories);

 //BoF Added v1.4 allow selection by manufacturer
 $manufacturers_array = array(array('id' => '', 'text' => TEXT_NONE));
 $manufacturers_query = tep_db_query("select manufacturers_id, manufacturers_name from " . TABLE_MANUFACTURERS . " order by manufacturers_name");
 while ($manufacturers = tep_db_fetch_array($manufacturers_query)) {
$manufacturers_array[] = array('id' => $manufacturers['manufacturers_id'],
							 'text' => $manufacturers['manufacturers_name']);
 }
 echo TEXT_SELECT_MAN . ' ' . tep_draw_pull_down_menu('manufacturer',$manufacturers_array, $manufacturer) .'   ';
 //EoF Added v1.4

 echo TEXT_ENTER_DISCOUNT . ':  ';
?>
<input type="text" size="4" name="discount" value="
<?php 
 if ($discount > 0) { echo $discount; }
 echo '">' . TEXT_PCT_AND . ' '; 

?>


		<?php echo TEXT_SPECIALS_VALIDFROM_DATE; ?><br><small>(DD-MM-YYYY)</small> 
		  <?php echo tep_draw_input_field('dfrom', (isset($sInfo->valid_from_date) ? substr($sInfo->valid_from_date, 0, 10) : ''), 'size="4" maxlength="10" class="cal-TextBox"'); ?><?php echo tep_image(DIR_WS_IMAGES . 'cal_date_up.gif', 'Calendar', '22', '17', 'align="absmiddle" name="btnDate1"'); ?><script language="javascript">valid_from_date.writeControl(); valid_from_date.dateFormat="dd/MM/yyyy";</script>		

	   <?php echo TEXT_SPECIALS_EXPIRES_DATE; ?><br><small>(DD-MM-YYYY)</small> 
		<?php echo tep_draw_input_field('dto', (isset($sInfo->expires_date) ? substr($sInfo->expires_date, 0, 10) : ''), 'size="4" maxlength="10" class="cal-TextBox"'); ?><?php echo tep_image(DIR_WS_IMAGES . 'cal_date_up.gif', 'Calendar', '22', '17', 'align="absmiddle" name="btnDate2"'); ?></a><script language="javascript">expires_date.writeControl(); expires_date.dateFormat="dd/MM/yyyy";</script>		



<input type="submit" value="<?php echo TEXT_BUTTON_SUBMIT; ?>">
</form></td></tr>
<tr class="dataTableContent"><td class="dataTableContent" colspan="6">
<ul><li><?php echo TEXT_INSTRUCT_1; ?></li>
<li><?php echo TEXT_INSTRUCT_2; ?></li>
</ul>
</td></tr>
<?php
 if ($discount == -1) {
  //echo 'do nothing';
 } else if ($discount == 0) {
  //BoF Changed v1.4 
  if ($categories) {
  $result2 = tep_db_query("select p.products_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . 
						  " ptc where p.products_id=ptc.products_id and ptc.categories_id=$categories" . $man_filter);
} else {
  $result2 = tep_db_query("select p.products_id from " . TABLE_PRODUCTS . " p where 1=1" . $man_filter);
}
  //EoF Changed v1.4 

while ( $row = tep_db_fetch_array($result2) ){
  $allrows[] = $row["products_id"];
}
tep_db_query("DELETE FROM " . TABLE_SPECIALS . " WHERE products_id in ('".implode("','",$allrows)."')");
 } else if ($discount > 0) {  
$specialprice = $discount / 100;

  //BoF Changed v1.4 
  if ($categories) {
  $result2 = tep_db_query("select p.products_id, p.products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . 
						  " ptc where p.products_id=ptc.products_id and ptc.categories_id=$categories" . $man_filter);
} else {
	$result2 = tep_db_query("select p.products_id, p.products_price from " . TABLE_PRODUCTS . " p where 1=1 " . $man_filter);
}
  //EoF Changed v1.4 

while ( $row = tep_db_fetch_array($result2) ){
  $hello2 = $row["products_price"];
  $hello3 = $hello2 * $specialprice;
  $hello4 = $hello2 - $hello3;
  $number = $row["products_id"];
  $result3 = tep_db_query("select * from " . TABLE_SPECIALS . " where products_id = $number");
  $num_rows = tep_db_num_rows($result3);
  if ($num_rows == 0){
	  //echo "Insert into specials (products_id, specials_new_products_price) values ($number, '$hello4')"; 
	//Fix v1.4 set default expiration date to '0' and status active.

//tep_db_query("Insert into " . TABLE_SPECIALS . " (products_id, specials_new_products_price) values ($number, '$hello4')");
//ORIGINAL		tep_db_query ("INSERT INTO " . TABLE_SPECIALS . " (products_id, specials_new_products_price, specials_date_added, specials_last_modified, expires_date, date_status_change, status ) VALUES ('$number','$hello4','$today','$today','0','','1')");

//*******MY ATTEMPT AT GETTING START AND END IN SPECIALS CATEGORIES*****FROM SPECIALS**********		 
	  tep_db_query ("INSERT INTO " . TABLE_SPECIALS . " (products_id, specials_new_products_price, specials_date_added, specials_last_modified, expires_date, date_status_change, status, valid_from_date ) VALUES ('$number', $hello4', '$today', '$today', '$expires_date', '$today', '1', '$valid_from_date')");

} else {
	//echo "Update specials set specials_new_products_price='$hello4' where products_id=$number";
	tep_db_query ("Update " . TABLE_SPECIALS . " set specials_new_products_price='$hello4' where products_id=$number");
  }
}
 }
 print ("
		<tr class=\"dataTableHeadingRow\">
		<td class=\"dataTableHeadingContent\">". TABLE_HEADING_PRODUCTS ."</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_PRODUCTS_PRICE ."</td>
<!--***********MY ADDITIONS FROM ADD TABLE HEADINGS************************//-->
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_SPECIAL_START_DATE ."</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_SPECIAL_END_DATE ."</td>
 <!--***********MY ADDITIONS FROM ADD TABLE HEADINGS************************//-->		  

		<td class=\"dataTableHeadingContent\">Products Cost</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_SPECIAL_PRICE ."</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_PCT_OFF ."</td>
		<td class=\"dataTableHeadingContent\">" . TABLE_HEADING_FULL_PRICE . "</td>
		</tr>");

 //BoF Changed v1.4			 
 if ($categories) {
  $result2 = tep_db_query("SELECT * FROM " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . 
					  " ptc, " . TABLE_PRODUCTS . " p where pd.products_id=ptc.products_id and p.products_id=ptc.products_id 
		   and ptc.categories_id = $categories and pd.language_id = " .(int)$languages_id . $man_filter . " order by pd.products_name asc ");
 } else if ($manufacturer) {
  $result2 = tep_db_query("SELECT * FROM " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS . " p where pd.products_id=p.products_id 
		   and pd.language_id = " .(int)$languages_id . $man_filter . " order by pd.products_name asc ");
 } else {
  $result2 = tep_db_query("SELECT * FROM " . TABLE_PRODUCTS_DESCRIPTION . " pd, " . TABLE_PRODUCTS_TO_CATEGORIES . 
					  " ptc, " . TABLE_PRODUCTS . " p where pd.products_id=ptc.products_id and p.products_id=ptc.products_id 
		   and ptc.categories_id = $categories and pd.language_id = " .(int)$languages_id . $man_filter . " order by pd.products_name asc ");	  
 }
	//EoF Changed v1.4 
print("<form action=\"$current_page?categories=$categories&manufacturer=$manufacturer\" method=\"post\">");
$base=-1;
 while ( $row = tep_db_fetch_array($result2) ) {
$base++;
$number = $row["products_id"];
$result3 = tep_db_query("SELECT * FROM " . TABLE_SPECIALS . " where products_id=$number");
$num_rows = tep_db_num_rows($result3);
if ($num_rows == 0) {
  $specialprice = "none";
  $implieddiscount = '';
} else {
  while ( $row2 = tep_db_fetch_array($result3) ) {
	$specialprice = $row2["specials_new_products_price"];
	if ($row["products_price"] > 0) {
	  $implieddiscount = '-'.(int)(100-(($specialprice / $row["products_price"])*100)).'%';
	} else {
		$implieddiscount = '';
	}
  }
 }
$tax_rate = tep_get_tax_rate($row['products_tax_class_id']);


print("
<tr class=\"dataTableRow\" onmouseover=\"rowOverEffect(this)\" onmouseout=\"rowOutEffect(this)\" >
<td class=\"dataTableContent\">" . $row["products_name"] . "</td>
<td class=\"dataTableContent\">" . $row["products_price"] . "</td>
<!--//**************MY ADDITION TO SHOW START AND END DATE*********************//-->
 <td class=\"dataTableContent\">" . $row["valid_from_date"] . "</td>
<td class=\"dataTableContent\">" . $row["expires_date"] . "</td>
<!--//**************MY ADDTION TO SHOW START AND END DATE**********************// -->

<td class=\"smallText\" style=\"color:#777777\">" . $row["products_cost"] . "</td>
<td class=\"dataTableContent\"><input name=\"master[".$base."][inputspecialprice]\" type=\"text\" value=\"$specialprice\"></td>
<td class=\"dataTableContent\">$implieddiscount </td>
<td class=\"dataTableContent\"><input type=\"checkbox\" name=\"master[".$base."][fullprice]\" value=\"yes\"></td>
<td class=\"dataTableContent\"><input type=\"hidden\" name=\"master[".$base."][categories]\" value=\"" . $categories ."\">
<input type=\"hidden\" name=\"master[".$base."][productprice]\" value=\"" . $row["products_price"] . "\">
<input type=\"hidden\" name=\"master[".$base."][taxrate]\" value=\"" . $tax_rate . "\">	
<input type=\"hidden\" name=\"master[".$base."][productid]\" value=\"" . $number . "\">
  ");
 }
 print ("</table>");
 if($base>=0)  print ("<input type=\"submit\" name=\"submit\" value=\"" . TEXT_BUTTON_UPDATE . "\"></form>");
?>
<!------------------------ Code for Specials Admin ends here --------------------------->

</td>
 </tr>
</table>
<!-- body_text_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->

</body>
</html>

Link to comment
Share on other sites

  • 1 month later...

ttstitches, I've tested your contribution, but I have got some code errors. They're around line 167.

 

I'm going to work in this code because I like your idea.

 

PS: I made an update to the contribution, I traslate the lang file to Spanish...

 

Español: Este es el codigo que debeis poner en admin/includes/languages/espanol/specialsbycategory.php

English: this is the translate to admin/includes/languages/espanol/specialsbycategory.php

 

<?php
/*
 $Id: specialsbycategory.php,v 2.0 2006/11/06 23:35:00 stephenwald Exp $

 osCommerce, Open Source E-Commerce Solutions
 [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url]

 Copyright © 2005 osCommerce

 Released under the GNU General Public License
*/


define('HEADING_TITLE', 'Ofertas por categorías.');
define('TEXT_SELECT_CAT', 'Selecciona la categoría.');
define('TEXT_SELECT_MAN', 'Excluir/Incluir Fabricante');
define('TEXT_ENTER_DISCOUNT','Establece el descuento:');
define('TEXT_PCT_AND','%');
define('TEXT_BUTTON_SUBMIT', 'Aceptar');

define('TEXT_INSTRUCT_1','Dejando la casilla de porcentaje vacía, se mostrarán todos los productos de la categoría seleccionada.');
define('TEXT_INSTRUCT_2','Si introduce un descuento al 0%, se eliminarán todos los porcentajes de los productos de la categoría seleccionada.');

define('TABLE_HEADING_PRODUCTS', 'Productos');
define('TABLE_HEADING_PRODUCTS_PRICE', 'Precio');
define('TABLE_HEADING_SPECIAL_PRICE', 'Precio con rebaja');
define('TABLE_HEADING_PCT_OFF', '% Descuento');
define('TABLE_HEADING_FULL_PRICE', 'Precio final');

define('TEXT_BUTTON_UPDATE', 'Actualizar todos los productos.');

?>

 

Español: Hay que añadir al archivo admin/includes/languages/espanol.php

English: add to admin/includes/languages/espanol.php

 

define('BOX_CATALOG_SPECIALSBYCAT','Ofertas por Categorías');

Link to comment
Share on other sites

ttstitches, you have an error with $sInfo. In specials.php, it's called

 

$sInfo = new objectInfo($product);

 

but in your contribution, you don't define sInfo. you must chage this variable because the problem is it! ... I continue browsing a solution.

 

(sorry for my bad english :()

Link to comment
Share on other sites

  • 5 months later...
Hey Randall,

luckily my site wasn't live when this contribution slowed it to a crawl. I just loaded up my backed up site and have not had the kahunas to try installing it again. It appears this is only useful of small databases. I have over 12000 products on my music site www.tenseconds.com.au

 

Good luck if you give it another go

 

Danny

 

 

I have about 1400 products and even with the db optimization and only 4 product to a page this loads too slow. Is anyone aware of a way to fix this? Or another solution for offering a discount on all products?

Link to comment
Share on other sites

I have about 1400 products and even with the db optimization and only 4 product to a page this loads too slow. Is anyone aware of a way to fix this? Or another solution for offering a discount on all products?

Look in the store speed optimization in progress thread for the posts about adding indexes to the specials table.

I have posted on a specific index and Monika In Germany too. These posts are just a few weeks old, so start browsing from the back of the thread ...

Depending on the content of your tables, mine or monika will work best, you should try it out and see the improvements.

Edited by bruyndoncx

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

  • 4 weeks later...

This contribution works great for me but I have one problem. None of the specials prices end up being listed for my items on Google products, only the original price shows. How can I fix this so that all my specials that this contribution creates are shown on Google products with the correct special prices?

 

I also use the googlefeeder to create my feed for Google products, could this be the problem? I have been using this contribution for more than a year but it was designed for Froogle which is no longer around. It seems to work fine still but perhaps this is the issue? Should I be using a different contribution to create my Google products feed? I am thinking the problem has something to do with this contribution setting an expiration date of 0 on all my specials?

 

Thanks.

Edited by docprego
Link to comment
Share on other sites

  • 3 months later...
This contribution works great for me but I have one problem. None of the specials prices end up being listed for my items on Google products, only the original price shows. How can I fix this so that all my specials that this contribution creates are shown on Google products with the correct special prices?

 

I also use the googlefeeder to create my feed for Google products, could this be the problem? I have been using this contribution for more than a year but it was designed for Froogle which is no longer around. It seems to work fine still but perhaps this is the issue? Should I be using a different contribution to create my Google products feed? I am thinking the problem has something to do with this contribution setting an expiration date of 0 on all my specials?

 

Thanks.

 

i think someone asked a similar question about it not showing up on froogle. it was in the earlier pages of this thread.

Link to comment
Share on other sites

thank you for this awesome contrib.

 

i read through nearly every post and didn't see this question. this isn't isolated with the contrib. but also with the built in specials of oscommerce.

 

whenever a price is changed in specials, the specials price shows up on the site and the specials section of admin. everything comes out fine except when searching for a specific product in the Catalog/Categories/Products.

 

when i search and bring up an item i had lowered the price through specials, it doesn't show the special price there. but shows the regular price. even when i click on it to see a preview page of the item, it shows the regular price. but back on the site, it shows the special price.

 

i hope i'm making sense.

 

just wondering if there is a way to show the special price there as way, in similar style to the information given in the special section

 

thumbnail photo on the right side

original price

new price

percentage (optional)

 

in the categories/products in shows this

 

thumbnail photo

price

quantity

ordered

Link to comment
Share on other sites

  • 3 months later...

I installed this on a store a few months ago and it seemed to be working fine, and then I left it alone for a long time while the client had me working on other things. The client wants ALMOST every product in the store to be 20% off so I set everything to be 20% off and then removed the discount on a few select items.

 

Now when I go into Specials by Category and try to change an individual product's price, either by checking "Full Price" and hitting the "Update All Products" button, or by changing the "Special Price" for that item and clicking "Update All Products," it does change the price of the item in question -- but then it also takes an additional 5% or so off all the other produts! Almost everything is at 20% off, and if I do "Full Price" on one item, all of a sudden all the other products become 25% off. Why would this be happening?

 

Using the top section, applying a percentage to all items by category, still works fine and doesn't cause any problems, but why can't I update an individual item properly? What code should I post that might help someone help me? Thanks for any advice anyone can provide.

Link to comment
Share on other sites

  • 4 weeks later...

Hi, i've just installed this contribution and its not looking good, below is a screenshot, can anyone point me in the right direction for a fix?

This is v2.1 of specials by category installed on a v2.2 RC2 store.

 

Thanks,

Scott

 

error.jpg

Scott

Link to comment
Share on other sites

  • 3 weeks later...
  • 4 weeks later...
Hi, i've just installed this contribution and its not looking good, below is a screenshot, can anyone point me in the right direction for a fix?

This is v2.1 of specials by category installed on a v2.2 RC2 store.

 

Thanks,

Scott

 

error.jpg

 

Still looking for an answer to this, can anyone help?

 

Thanks

Scott

Link to comment
Share on other sites

I installed this on a store a few months ago and it seemed to be working fine, and then I left it alone for a long time while the client had me working on other things. The client wants ALMOST every product in the store to be 20% off so I set everything to be 20% off and then removed the discount on a few select items.

 

Now when I go into Specials by Category and try to change an individual product's price, either by checking "Full Price" and hitting the "Update All Products" button, or by changing the "Special Price" for that item and clicking "Update All Products," it does change the price of the item in question -- but then it also takes an additional 5% or so off all the other produts! Almost everything is at 20% off, and if I do "Full Price" on one item, all of a sudden all the other products become 25% off. Why would this be happening?

 

Using the top section, applying a percentage to all items by category, still works fine and doesn't cause any problems, but why can't I update an individual item properly? What code should I post that might help someone help me? Thanks for any advice anyone can provide.

 

I'm still having this problem, I just installed it on a brand new store and I'm having the same issue. If I try to update any one individual item, it fouls up the discount on all the other items by 5%. Any help?

Link to comment
Share on other sites

  • 4 weeks later...
Still looking for an answer to this, can anyone help?

 

Thanks

 

This problem seems to have gone away now the site is live, however i can't get the contribution to work. This is all that displays and when you click the submit button it just returns to the same screen without actually doing anything. Any ideas?

 

Thanks

 

screen.jpg

Edited by ProdigyMotorsport

Scott

Link to comment
Share on other sites

  • 3 weeks later...
This problem seems to have gone away now the site is live, however i can't get the contribution to work. This is all that displays and when you click the submit button it just returns to the same screen without actually doing anything. Any ideas?

 

Thanks

 

screen.jpg

 

Ok its working now, it seems Dreamweaver wasn't synchronising all the files!

 

Next question is has anyone done a mod for this so that you can end the promotion on a certain date like the old specials system??

 

Thanks

Scott

Link to comment
Share on other sites

  • 1 month later...
Look in the store speed optimization in progress thread for the posts about adding indexes to the specials table.

I have posted on a specific index and Monika In Germany too. These posts are just a few weeks old, so start browsing from the back of the thread ...

Depending on the content of your tables, mine or monika will work best, you should try it out and see the improvements.

Hello,

 

This contribution is a very good idea especially in case of large amount of products...

I have :cry: a similar problem with the speed of the store and the admin page in case of more 10000 products. I have started brwosing from the back of the thread as you suggested, but I have not found any additional information about adding indexes to the specials table. I have also used the search within this thread and not found any useful information.

Could you please help to fix the speed problem?

thank you in advance:

lehjoz

Link to comment
Share on other sites

  • 3 months later...

I am also having a problem here.. I am in the process of upgrading a cart from osc standard to oscmax.. each with their own database.. the osc will get removed at some point.. the osc cart is running the older version of specials by category with no issues..

 

I loaded the V2.2 to the new oscmax cart and when I call it in the broswer it loads the page then MSIE 7 freezes.. I just tried in Firefox 3 and the page did come up after some time.. what I'm not happy with here is the entire catalog comes up on the single page.. and I only have 1/2 of the products loaded to the oscmax (4300 out of almost 7500).. I jusy verified indeed every one of the 4300 loaded products are on this ONE page.. is there a repair for this situation?? If I am not mistaken the old version only brought up the products that were already ON soecial (active or inactive)

Debbie D
Franklin County, VA "Moonshine Capitol of the World"
osCmax Mobile Template oscmaxtemplates.com

Link to comment
Share on other sites

  • 3 months later...
Hi,

 

Can this module do the following, example:

 

1 Product Purchased: No discount

 

2+ Products Purchased: 5% off

 

Any help would be most appreciated!

No, that would be product quantity discounts, I believe it is called 'quantity price breaks' or something. I'm no expert at that .

KEEP CALM AND CARRY ON

I do not use the responsive bootstrap version since i coded my responsive version earlier, but i have bought every 28d of code package to support burts effort and keep this forum alive (albeit more like on life support).

So if you are still here ? What are you waiting for ?!

 

Find the most frequent unique errors to fix:

grep "PHP" php_error_log.txt | sed "s/^.* PHP/PHP/g" |grep "line" |sort | uniq -c | sort -r > counterrors.txt

Link to comment
Share on other sites

Hi, I am in the process of validating my oscommerce implementation on my laptop (via localhost) before I migrate it to a host

 

Now I am validating Admin Specials By category

 

All displays ok down to the text line . Entering 0 discount will remove all specials in selected category and/or store and customer group

 

Then all I see is code eg

 

0) { $specialprice = $discount / 100; if ($categories) { $result2 = tep_db_query("select p.products_id, p.products_price from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " ptc WHERE p.products_id = ptc.products_id AND ptc.categories_id = '" . $categories . "' " . $man_filter . ""); } else { $result2 = tep_db_query("select p.products_id, p.products_price from " . TABLE_PRODUCTS . " p where " . substr($man_filter, 5) . "");

....

.....

down to

 

'; } } // end if (isset($_POST['top_button']) || (isset($_POST['inputupdate']) || isset($_GET['categories'])) print ("

\n"); ?>

 

I do not know where /how to start debugging this issue

 

I have just done a compare between my installed specialsbycategory.php scripts and fresh download of http://addons.oscommerce.com/info/3366

 

The minor difference in the compare are ie replacing text Store for Manufacturer

 

Any direction on how I should debug this issue would be greatly appreciated

 

Thanking you in advance

Link to comment
Share on other sites

  • 5 months later...

No, that would be product quantity discounts, I believe it is called 'quantity price breaks' or something. I'm no expert at that .

 

Hi :)

I would like split the page with ALL my PRODUCT (Default view )

 

I've over 5000 PRODUCT and when i use your plugin... my poor Sql Server will overload!

How i can split , for example , 100 product per page ?

Link to comment
Share on other sites

  • 2 months later...

Hi Carine

 

Great contrib, works like a charm ! The easiest addon i ever install

 

Thank you for sharing your work.

 

Can i suggest one more thing in the ToDo list ?

 

It will be great to have a way to set a beguinning date and expires date.

 

What do you think about ?

 

looking forward to reading you

 

Best regards and happy new year

 

David

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...