Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[Contribution] QTpro - Quantity Tracking Professional


zonetown

Recommended Posts

Hi,

 

if i buy one article with attributs is the shopping_cart check the quantity and show a message if i buy more than i have...

 

 

what can i do to show the quantity from the attributes i select in the product_info under the dropdown ???

 

like this: i select in product_info with the dropdown Option:

Color: red

Size: XL

 

then i will see the field Quantity: 10

 

or this:

 

Option:

Color: blue

Size: XL

 

Quantity 5

 

 

what must i change ?

 

thanks

Link to comment
Share on other sites

I just installed qt pro 4.3 and everything is fine except in admin- reports it shows

 

stock report (then)

BOX_REPORTS_STOCK_LEVEL

 

and box reports stock level will not go to any page. page does not exist.

 

404 webpage can not be installed. This is my second time installing on a clean vesion of oscommerce.

 

I have checked and all the files included in the package are uploaded. I think it may have something to do with, english, filenames, or something.

 

Any suggestions?

Link to comment
Share on other sites

Great contribution! Tks to everybody who contributed! :thumbsup:

 

I need a couple of tweaks, but I'm no programmer, so can someone help me accomplish this?

 

1- On the stats_low_stock_attrib.php page, I need to add one extra column at the end for TOTAL (which will be Quantity x Price).

 

2- At the end of the page, add one extra row for TOTAL for all columns.

 

3- When adding or edditing a product, I need to be able to add the attribute quantity as well. I'm using the AJAX Attribute Manager contribution ( http://www.oscommerce.com/community/contributions,4063 ). How can it be done?

 

 

I appreciate any help you guys can give me. Tks in advance! :)

Edited by Patty

Patty

Link to comment
Share on other sites

I remember this question being asked before and can't recall the answer but i think 2 is the max - if i understand it correctly, you shouldnt have problems if you improvise

I had the same problem. I spent hours looking at the code. The problem stems from the way the code is looking up stock. For example, for option 1 value 2, option 2 value 5, and option 3 value 8, the entry in the database for stock on that combination is "1-2,2-5,3-8". When the lookup is being done, the generated key is "3-8,2-5,1-2". Now, the key is generated recursively, which makes changing it a bit tricky. You would think you could just reverse it, but the problem is that the order also determines the order the sequenced dropdown boxes appear. So, what I ended up having to do was change the qtpro-modified stock lookup in general.php (catalog/includes/functions/general.php).

 

If you search for:

$stock_query=tep_db_query("select products_stock_quantity as quantity from " . TABLE_PRODUCTS_STOCK . " where products_id='". (int)$products_id . "' and products_stock_attributes='$attr_list'");

 

then just BEFORE that line put

 

$temparr = explode(",",$attr_list);

$temparr = array_reverse($temparr);

$attr_list = implode(",",$temparr);

 

I think all will be ok. Worked for me, but I haven't checked to see if it <gulp> breaks only 1 or 2 options in some way.

Link to comment
Share on other sites

I have tried to install this twice now. I import my databases into my oscommerce database, and I uploaded the files. The error I get below is when I try to get to my backend:

 

Warning: require(includes/classes/navigation_history.php) [function.require]: failed to open stream: No such file or directory in /home/cworks/public_html/admin/includes/application_top.php on line 146

 

Fatal error: require() [function.require]: Failed opening required 'includes/classes/navigation_history.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/cworks/public_html/admin/includes/application_top.php on line 146

 

I have checked to make sure the files are there and they are. Any ideas?

Link to comment
Share on other sites

I have tried to install this twice now. I import my databases into my oscommerce database, and I uploaded the files. The error I get below is when I try to get to my backend:

 

Warning: require(includes/classes/navigation_history.php) [function.require]: failed to open stream: No such file or directory in /home/cworks/public_html/admin/includes/application_top.php on line 146

 

Fatal error: require() [function.require]: Failed opening required 'includes/classes/navigation_history.php' (include_path='.:/usr/lib/php:/usr/local/lib/php') in /home/cworks/public_html/admin/includes/application_top.php on line 146

 

I have checked to make sure the files are there and they are. Any ideas?

 

Trevor

 

You can import databases as much as you like but there is no /admin/includes/classes/navigation_history.php.

 

You have the wrong application_top.php in /admin/includes.

Link to comment
Share on other sites

Hi, Terra

 

 

 

Is this info still valid for inegration of QTPro with your IPN version 2.2 or is it only for versions 1.x?

 

If there is a change that needs to be done in order to combine QTPro with IPN version 2.2, I would love to know they are (as I am sure many others would too...)

 

 

 

TIA. :)

 

 

 

This is a code solution for shops wanting to use both QTPro Quantity Tracking Professional (version 4.25 from 27 Feb 2006) and the official osCom team PayPal IPN module inc. tax fix (version 1.0 Mark Evans plus navyhost January 2006).

 

The problem:

QTPro amends checkout_process.php. However, the PayPal IPN uses paypal_ipn.php to mirror the function of checkout_process.php so the QTPro code needs to be manually added to /includes/modules/payment/paypal_ipn.php.

 

NB: this version also contains a fix for the "missing attribute or attributes in order confirmation email" with PayPal IPN.

 

1. Back up your files. I'd strongly recommend to test all file changes on a development / test shop before applying to live shop. If your shop goes down, it's up to you to sort it.

 

2. Install Paypal IPN and QTPro as per instructions:

http://www.oscommerce.com/community/contributions,888/

http://www.oscommerce.com/community/contributions,2679/

 

3. Open /includes/modules/payment/paypal_ipn.php and apply the following changes:

 

Find this code:

		  for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
		$sql_data_array = array('orders_id' => $insert_id,
								'products_id' => tep_get_prid($order->products[$i]['id']),
								'products_model' => $order->products[$i]['model'],
								'products_name' => $order->products[$i]['name'],
								'products_price' => $order->products[$i]['price'],
								'final_price' => $order->products[$i]['final_price'],
								'products_tax' => $order->products[$i]['tax'],
								'products_quantity' => $order->products[$i]['qty']);

 

Replace with this code:

//++++ QT Pro: Begin Changed code
 for ($i=0, $n=sizeof($order->products); $i<$n; $i++) {
$products_stock_attributes=null;
if (STOCK_LIMITED == 'true') {
  $products_attributes = $order->products[$i]['attributes'];

  $stock_query_raw = "SELECT products_quantity, pad.products_attributes_filename 
					  FROM " . TABLE_PRODUCTS . " p
					  LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES . " pa
					   ON p.products_id=pa.products_id
					  LEFT JOIN " . TABLE_PRODUCTS_ATTRIBUTES_DOWNLOAD . " pad
					   ON pa.products_attributes_id=pad.products_attributes_id
					  WHERE p.products_id = '" . tep_get_prid($order->products[$i]['id']) . "'";


  if (is_array($products_attributes)) {
	$stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'";
  }
  $stock_query = tep_db_query($stock_query_raw);
  if (tep_db_num_rows($stock_query) > 0) {
	$stock_values = tep_db_fetch_array($stock_query);

	 $actual_stock_bought = $order->products[$i]['qty'];
	$download_selected = false;
	if ((DOWNLOAD_ENABLED == 'true') && isset($stock_values['products_attributes_filename']) && tep_not_null($stock_values['products_attributes_filename'])) {
	  $download_selected = true;
	  $products_stock_attributes='$$DOWNLOAD$$';
	}
//	  If not downloadable and attributes present, adjust attribute stock
	if (!$download_selected && is_array($products_attributes)) {
	  $all_nonstocked = true;
	  $products_stock_attributes_array = array();
	  foreach ($products_attributes as $attribute) {
		$products_stock_attributes_array[] = $attribute['option_id'] . "-" . $attribute['value_id'];

		asort($products_stock_attributes_array, SORT_NUMERIC);
		$products_stock_attributes = implode(",", $products_stock_attributes_array);
		}
	}
}
} else {
if ( is_array($order->products[$i]['attributes']) ) {
  $products_stock_attributes_array = array();
  foreach ($order->products[$i]['attributes'] as $attribute) {
	  $products_stock_attributes_array[] = $attribute['option_id'] . "-" . $attribute['value_id'];
	}
	asort($products_stock_attributes_array, SORT_NUMERIC);
	$products_stock_attributes = implode(",", $products_stock_attributes_array);
}
}	

		if (!isset($products_stock_attributes)) $products_stock_attributes=null;  
		  $sql_data_array = array('orders_id' => $insert_id,
								'products_id' => tep_get_prid($order->products[$i]['id']),
								'products_model' => $order->products[$i]['model'],
								'products_name' => $order->products[$i]['name'],
								'products_price' => $order->products[$i]['price'],
								'final_price' => $order->products[$i]['final_price'],
								'products_tax' => $order->products[$i]['tax'],
								'products_quantity' => $order->products[$i]['qty'],
						'products_stock_attributes' => $products_stock_attributes);
//++++ QT Pro: End Changed Code

 

************************

 

Find this code:

	function before_process() {
  global $customer_id, $order, $sendto, $billto, $payment, $currencies, $cart, $cart_PayPal_IPN_ID;
  global $$payment;

 

Replace with this code:

	function before_process() {
  global $customer_id, $order, $sendto, $billto, $payment, $languages_id, $currencies, $cart, $cart_PayPal_IPN_ID;
  global $$payment;

 

**********************************

 

Find this code:

// Stock Update - Joao Correia
	if (STOCK_LIMITED == 'true') {
	  if (DOWNLOAD_ENABLED == 'true') {

 

Replace with this code:

// Stock Update - Joao Correia
//++++ QT Pro: Begin Changed code
$products_stock_attributes=null;
if (STOCK_LIMITED == 'true') {
	$products_attributes = $order->products[$i]['attributes'];
//	  if (DOWNLOAD_ENABLED == 'true') {
//++++ QT Pro: End Changed Code

 

**********************************

 

Find this code:

// Will work with only one option for downloadable products
// otherwise, we have to build the query dynamically with a loop
		$products_attributes = $order->products[$i]['attributes'];
		if (is_array($products_attributes)) {
		  $stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'";
		}
		$stock_query = tep_db_query($stock_query_raw);
	  } else {
		$stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
	  }
	  if (tep_db_num_rows($stock_query) > 0) {
		$stock_values = tep_db_fetch_array($stock_query);
// do not decrement quantities if products_attributes_filename exists
		if ((DOWNLOAD_ENABLED != 'true') || (!$stock_values['products_attributes_filename'])) {
		  $stock_left = $stock_values['products_quantity'] - $order->products[$i]['qty'];
		} else {
		  $stock_left = $stock_values['products_quantity'];
		}
		tep_db_query("update " . TABLE_PRODUCTS . " set products_quantity = '" . $stock_left . "' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
		if ( ($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false') ) {
		  tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
		}
	  }
	}

// Update products_ordered (for bestsellers list)

 

Replace with this code:

// Will work with only one option for downloadable products
// otherwise, we have to build the query dynamically with a loop
//++++ QT Pro: Begin Changed code
//	  $products_attributes = $order->products[$i]['attributes'];
//++++ QT Pro: End Changed Code
  if (is_array($products_attributes)) {
	$stock_query_raw .= " AND pa.options_id = '" . $products_attributes[0]['option_id'] . "' AND pa.options_values_id = '" . $products_attributes[0]['value_id'] . "'";
  }
  $stock_query = tep_db_query($stock_query_raw);
  if (tep_db_num_rows($stock_query) > 0) {
	$stock_values = tep_db_fetch_array($stock_query);

//++++ QT Pro: Begin Changed code
	$actual_stock_bought = $order->products[$i]['qty'];
	$download_selected = false;
	if ((DOWNLOAD_ENABLED == 'true') && isset($stock_values['products_attributes_filename']) && tep_not_null($stock_values['products_attributes_filename'])) {
	  $download_selected = true;
	  $products_stock_attributes='$$DOWNLOAD$$';
	}
//	  If not downloadable and attributes present, adjust attribute stock
	if (!$download_selected && is_array($products_attributes)) {
	  $all_nonstocked = true;
	  $products_stock_attributes_array = array();
	  foreach ($products_attributes as $attribute) {

//**si** 14-11-05 fix missing att list
//			if ($attribute['track_stock'] == 1) {
//			  $products_stock_attributes_array[] = $attribute['option_id'] . "-" . $attribute['value_id'];
$products_stock_attributes_array[] = $attribute['option_id'] . "-" . $attribute['value_id'];
if ($attribute['track_stock'] == 1) {
//**si** 14-11-05 end

		  $all_nonstocked = false;
		}
	  } 
	  if ($all_nonstocked) {
		$actual_stock_bought = $order->products[$i]['qty'];

//**si** 14-11-05 fix missing att list
asort($products_stock_attributes_array, SORT_NUMERIC);
$products_stock_attributes = implode(",", $products_stock_attributes_array);
//**si** 14-11-05 end

	  }  else {
		asort($products_stock_attributes_array, SORT_NUMERIC);
		$products_stock_attributes = implode(",", $products_stock_attributes_array);
		$attributes_stock_query = tep_db_query("select products_stock_quantity from " . TABLE_PRODUCTS_STOCK . " where products_stock_attributes = '$products_stock_attributes' AND products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
		if (tep_db_num_rows($attributes_stock_query) > 0) {
		  $attributes_stock_values = tep_db_fetch_array($attributes_stock_query);
		  $attributes_stock_left = $attributes_stock_values['products_stock_quantity'] - $order->products[$i]['qty'];
		  tep_db_query("update " . TABLE_PRODUCTS_STOCK . " set products_stock_quantity = '" . $attributes_stock_left . "' where products_stock_attributes = '$products_stock_attributes' AND products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
		  $actual_stock_bought = ($attributes_stock_left < 1) ? $attributes_stock_values['products_stock_quantity'] : $order->products[$i]['qty'];
		} else {
		  $attributes_stock_left = 0 - $order->products[$i]['qty'];
		  tep_db_query("insert into " . TABLE_PRODUCTS_STOCK . " (products_id, products_stock_attributes, products_stock_quantity) values ('" . tep_get_prid($order->products[$i]['id']) . "', '" . $products_stock_attributes . "', '" . $attributes_stock_left . "')");
		  $actual_stock_bought = 0;
		}
	  }
	}
//		$stock_query = tep_db_query("select products_quantity from " . TABLE_PRODUCTS . " where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
//	  }
//	  if (tep_db_num_rows($stock_query) > 0) {
//		$stock_values = tep_db_fetch_array($stock_query);
// do not decrement quantities if products_attributes_filename exists
	if (!$download_selected) {
	  $stock_left = $stock_values['products_quantity'] - $actual_stock_bought;
	  tep_db_query("UPDATE " . TABLE_PRODUCTS . " 
					SET products_quantity = products_quantity - '" . $actual_stock_bought . "' 
					WHERE products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
//++++ QT Pro: End Changed Code			
if ( ($stock_left < 1) && (STOCK_ALLOW_CHECKOUT == 'false') ) {
		  tep_db_query("update " . TABLE_PRODUCTS . " set products_status = '0' where products_id = '" . tep_get_prid($order->products[$i]['id']) . "'");
		}
	  }
	}
//++++ QT Pro: Begin Changed code
}


//**si** 14-11-05 fix missing att list
else {
if ( is_array($order->products[$i]['attributes']) ) {
  $products_stock_attributes_array = array();
  foreach ($order->products[$i]['attributes'] as $attribute) {
	  $products_stock_attributes_array[] = $attribute['option_id'] . "-" . $attribute['value_id'];
	}
	asort($products_stock_attributes_array, SORT_NUMERIC);
	$products_stock_attributes = implode(",", $products_stock_attributes_array);
}
}
//**si** 14-11-05 end



//++++ QT Pro: End Changed Code
// Update products_ordered (for bestsellers list)

 

 

***************************************

 

4. Save your file. To test, upload to a dev test shop and test with paypal sand box: http://developer.paypal.com

 

Once you are satisified that all works, upload changed file to your live shop.

 

Happy coding! Terra :thumbsup:

Link to comment
Share on other sites

Hi,

 

if i buy one article with attributs is the shopping_cart check the quantity and show a message if i buy more than i have...

what can i do to show the quantity from the attributes i select in the product_info under the dropdown ???

 

like this: i select in product_info with the dropdown Option:

Color: red

Size: XL

 

then i will see the field Quantity: 10

 

or this:

 

Option:

Color: blue

Size: XL

 

Quantity 5

what must i change ?

 

thanks

 

hi,

 

has someone an idea to show the quantity in product info ?

 

thanks

Link to comment
Share on other sites

Great contribution! Tks to everybody who contributed! :thumbsup:

 

I need a couple of tweaks, but I'm no programmer, so can someone help me accomplish this?

 

1- On the stats_low_stock_attrib.php page, I need to add one extra column at the end for TOTAL (which will be Quantity x Price).

 

2- At the end of the page, add one extra row for TOTAL for all columns.

 

3- When adding or edditing a product, I need to be able to add the attribute quantity as well. I'm using the AJAX Attribute Manager contribution ( http://www.oscommerce.com/community/contributions,4063 ). How can it be done?

I appreciate any help you guys can give me. Tks in advance! :)

 

Anyone??? Please????? :(

Patty

Link to comment
Share on other sites

Because I have absolutely no knowledge of PHP and this is my first experience with cart software, I have used a PHP person to install QTPro. We've run into problems and I'm wondering whether anyone can come up with an instant fix! rather than go down the line of a barebones install.

 

I also apologise for the length of this post

 

My web host offers an install of oscommerce (osCommerce 2.2 Milestone 2) and it comes with the following contributions preinstalled:

 

Static Page Editor

-CSS Editor

-Camtech Payment Module with Reporting

-Urchin Reporting Contributions

-AusPost Shipping

-Direct Deposit

-Australian PayPal

-Easy Populate

-WYSIWYG Editor

-Column Controller

-Featured Sets

-Center Shop

-Website Maintenance

 

Here are the comments made by my PHP guy...

 

"I have installed v4.3 (latest version available), and also attempted 4.2 (according to other forum users that have found success with this version).

 

The two main problems I have found are as follows:

 

- Customer side: A global declaration is not found on some of the information pages (such as privacy_policy.php, shipping_terms.php and mainpage.php). All these pages do is retrieve some text from the database such as the 'Welcome to the Spoilt.biz store...'. However, there is a line in the code: '$mainpage = $db->get_row($iQuery)' that causes a connection fault that I cannot trace. The fault that comes up is a result of either a incorrect SQL connection string or an undeclared global variable. It's not a SQL connection problem as the pages still retrieve all the product info (images and attributes), so it leads me to believe its an undeclared variable. However I have searched everywhere and can't seem to locate where it should be.

- Admin Side: This all works well right up to the point where you modify the stock numbers, whereby it cannot find the product_attribute table. I have traced the product_info.php page through its entirety and I cannot see why it can't find this table when it can find the product_info table.

 

Basically I can only deduce that it is down to conflicts with one of the shipping and payment modules allready installed into the site. As per the install documentation, it does state that other contributions are likley to cause conflicts, and as a result, recommends the use of a comparison program to find any conflicts within the contribution modules. I'm not sure where you want to go from here, as we can go down this path, otherwise if you want, you could revert to a bare bones install of the OsCommerce cart (without any other modules installed), install the QTPRo package and see if that works first, then install the other shipping and payment modules one by one to see which one is causing the conflict." ...........

 

Before we move onto the barebones option, is there anything blatantly obvious that anyone can see from the above?

 

Thank you for any assistance you may be able to offer.

Link to comment
Share on other sites

quick question for you all, i really really hope someone knows what im talking about. we have paypal IPN and QTpro installed on my oscommerce. after the paypal ipn was installed QTpro would not automatically update the stock. it would be very, very convenient if we found a fix for this but i just cant seem to find one. any suggestions at all? it automatically updates if paypal ipn is not installed. any and all information would be greatly appreciated and thanks in advance for the help!

 

-ben

Link to comment
Share on other sites

quick question for you all, i really really hope someone knows what im talking about. we have paypal IPN and QTpro installed on my oscommerce. after the paypal ipn was installed QTpro would not automatically update the stock. it would be very, very convenient if we found a fix for this but i just cant seem to find one. any suggestions at all? it automatically updates if paypal ipn is not installed. any and all information would be greatly appreciated and thanks in advance for the help!

 

-ben

 

 

This fix already exist search in the IPN Paypal topics.

 

xav

Link to comment
Share on other sites

Hi -- I am using an old (2.1) version of QTPro and have just moved my store to a new host with SQL 4.1.10.

 

I am getting this error when I attempt to edit the stock of any products in admin:

 

-----

 

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'and products_attributes.options_id=products_options.products_options_id and prod' at line 1

 

select products_name,products_options_name as _option,products_attributes.options_id as _option_id,products_options_values_name as _value,products_attributes.options_values_id as _value_id from

products_description, products_attributes,products_options,products_options_values

where

products_attributes.products_id=products_description.products_id and products_attributes.products_id= and products_attributes.options_id=products_options.products_options_id and products_attributes.options_values_id=products_options_values.products_options_v

alues_id and products_description.language_id=1 and products_options_values.language_id=1 and products_options.special=0 and products_options.language_id=1 order by products_attributes.options_values_id

 

------

 

I have found fixes for other 1064 errors, mainly the ones producing the "at line -10,10" or whatever, but none apply to (or, at any rate, fix) this one. I don't know enough about SQL to know what in that query is incorrect syntax for SQL 4.1 versus the 3.2 that worked fine on my old host. I really don't want to have to upgrade to a newer version of QT and modify a dozen files if I don't have to.

 

The actual code in the stock.php is:

 

$q=tep_db_query($sql="select products_name,products_options_name as _option,products_attributes.options_id as _option_id,products_options_values_name as _value,products_attributes.options_values_id as _value_id from ".

"products_description, products_attributes,products_options,products_options_values where ".

"products_attributes.products_id=products_description.products_id and ".

"products_attributes.products_id=$product_id and ".

"products_attributes.options_id=products_options.products_options_id and ".

"products_attributes.options_values_id=products_options_values.products_opti

ons_values_id and ".

"products_description.language_id=$languages_id and ".

"products_options_values.language_id=$languages_id and products_options.special=0 and ".

"products_options.language_id=$languages_id order by products_attributes.options_values_id");

Link to comment
Share on other sites

In fact what you refer to as paypal 2.0 is actually v1.5 and I have used v1.4 with QTpro and have no problems... download v1.4 and then upgarde to the v1.5 with text-diff if you need to.

 

Actually v2.x is a whole new code and doing it the way you suggested won't work, Chooch. The code must be customized in order to work with the new 2.x IPN and I still haven't seen a single person who have QTPro and IPN 2.x working together. I hope someone can come up with a solution for that...

Link to comment
Share on other sites

is there a way to simply not show an attribute if it is out of stock for a particular item?

 

Specifically, is there built in functionality in QT Pro?

 

I'd rather not have the annoying message saying your selection is out of stock (on the default item in the attribute list) if none is there - nor do I want the customer to be able to select an attribute that isn't there.

 

Thanks.

Link to comment
Share on other sites

is there a way to simply not show an attribute if it is out of stock for a particular item?

 

Specifically, is there built in functionality in QT Pro?

 

I'd rather not have the annoying message saying your selection is out of stock (on the default item in the attribute list) if none is there - nor do I want the customer to be able to select an attribute that isn't there.

 

Thanks.

 

 

The best thing is to use with QTPRO Limited Stock by Article

 

It work very good with qtpro

 

xav

Link to comment
Share on other sites

I'd rather not have the annoying message saying your selection is out of stock (on the default item in the attribute list) if none is there - nor do I want the customer to be able to select an attribute that isn't there.

Well for most people it is important to show it out of stock because it shows the customers the attribute exists but is out of stock. If no out of stock is shown then they may think you never had that attribute in the first place and may never re-visit your store to check if the attribute is in stock.

Upon receiving fixes and advice, too many people don't bother to post updates informing the forum of how it went. Until of course they need help again on other issues and they come running back!

 

Why receive the information you require in good faith for free, only to then have the attitude to ignore the people who gave it to you?

 

There's no harm in saying, 'Thanks, it worked'. On the contrary, it creates a better atmosphere.

 

CHOOCH

Link to comment
Share on other sites

I installed QTPro 4.25 and it worked fine for two options. For example, I can track stock status for two product options Size/Color. But I add one more option to track stock, it does not work. I can not figure out where the problem is. Does QT Pro have a limitation for two?

 

Thanks!

 

FIXED !!!!!!!!!!!!!!!!!!!!!!!!!!!

 

I had the same problem. The issue is to be fixed in the GENERAL.PHP page in FUNCTIONS.

There is a TYPO in the code :

 

1. In the function : function tep_get_products_stock

2. Find : $track_stock_query=tep_db_query("select products_options_id, products_options_track_stock from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id in ($options_list) and language_id= '" . (int)$languages_id . "order by products_options_id'");

 

3. The typoe is the ' at the very end after products_options_id - that needs to be moved before - order by - as follows :

 

4. $track_stock_query=tep_db_query("select products_options_id, products_options_track_stock from " . TABLE_PRODUCTS_OPTIONS . " where products_options_id in ($options_list) and language_id= '" . (int)$languages_id . "' order by products_options_id");

 

I spent weeks figuring it out.

 

God someone please post a FIX on the main contribution page.

 

David.

Link to comment
Share on other sites

God someone please post a FIX on the main contribution page.

 

What stops you from doing that?

Link to comment
Share on other sites

I spent weeks figuring it out.
Interesting..... I will add this an see what happens, I don't really need more than 2 options tracked anyway. I didn't know the problem was down to a typo error - I was under the impression the contibution was configured that way, with it being a little temperamental if more than two options were added.

 

Hey, we all learn new things all the time - thanks.

Edited by chooch

Upon receiving fixes and advice, too many people don't bother to post updates informing the forum of how it went. Until of course they need help again on other issues and they come running back!

 

Why receive the information you require in good faith for free, only to then have the attitude to ignore the people who gave it to you?

 

There's no harm in saying, 'Thanks, it worked'. On the contrary, it creates a better atmosphere.

 

CHOOCH

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