Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

[contribution] individual product shipping prices


Recommended Posts

Here is part of the answer listed by someone in this thread. However, still not showing up in the checkout.

 

 

 

There is a instruction in contribution name- 'How_To_Install_individual_shipping_4.5.txt'.

In that file find '/catalog/admin/categories.php'. then find

 

if (USE_CACHE == 'true') {

tep_reset_cache_block('categories');

tep_reset_cache_block('also_purchased');

}

but there is more then 1 statement like this on categories.php

You have to find -

 

if ($action == 'insert_product') {

$insert_sql_data = array('products_id' => $products_id,

'language_id' => $language_id);

 

$sql_data_array = array_merge($sql_data_array, $insert_sql_data);

 

tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array);

} elseif ($action == 'update_product') {

tep_db_perform(TABLE_PRODUCTS_DESCRIPTION, $sql_data_array, 'update', "products_id = '" . (int)$products_id . "' and language_id = '" . (int)$language_id . "'");

}

}

 

after above statement you have to insert

 

// start indvship

$sql_shipping_array = array('products_ship_zip' => tep_db_prepare_input($_POST['products_ship_zip']),

'products_ship_methods_id' => tep_db_prepare_input($_POST['products_ship_methods_id']),

'products_ship_price' => round(tep_db_prepare_input($_POST['products_ship_price']),4),

'products_ship_price_two' => round(tep_db_prepare_input($_POST['products_ship_price_two']),4));

$sql_shipping_id_array = array('products_id' => (int)$products_id);

$products_ship_query = tep_db_query("SELECT * FROM " . TABLE_PRODUCTS_SHIPPING . " WHERE products_id = " . (int)$products_id);

if(tep_db_num_rows($products_ship_query) >0) {

if (($_POST['products_ship_zip'] == '')&&($_POST['products_ship_methods_id'] == '')&&($_POST['products_ship_price'] == '')&&($_POST['products_ship_price_two'] == '')){

tep_db_query("DELETE FROM " . TABLE_PRODUCTS_SHIPPING . " where products_id = '" . (int)$products_id . "'");

} else {

tep_db_perform(TABLE_PRODUCTS_SHIPPING, $sql_shipping_array, 'update', "products_id = '" . (int)$products_id . "'");

}

} else {

if (($_POST['products_ship_zip'] != '')||($_POST['products_ship_methods_id'] != '')||($_POST['products_ship_price'] != '')||($_POST['products_ship_price_two'] != '')){

$sql_ship_array = array_merge($sql_shipping_array, $sql_shipping_id_array);

tep_db_perform(TABLE_PRODUCTS_SHIPPING, $sql_ship_array, 'insert');

}

}

// end indvship

 

enjoy :thumbsup:

Edited by fan4chevy
Link to comment
Share on other sites

Hi,

 

I got the shipping prices to now show up in checkout. However, I get this error after selecting paypal payment method:

 

shopping_cart.php?error_message=A match of the Shipping Address City, State, and Postal Code failed.

 

Your help is appreciated. I am using osc 2.3.1

Edited by fan4chevy
Link to comment
Share on other sites

Check to make sure you have included the following

 

 

In catalog\includes\classes\shopping_cart.php

 

Find

 

		  $specials_query = tep_db_query("select specials_new_products_price from " . TABLE_SPECIALS . " where products_id = '" . (int)$prid . "' and status = '1'");		  if (tep_db_num_rows($specials_query)) {			$specials = tep_db_fetch_array($specials_query);			$products_price = $specials['specials_new_products_price'];		  }

 

Insert AFTER it

 

		  // start indvship		  $products_shipping_query = tep_db_query("select products_ship_price, products_ship_price_two, products_ship_zip, products_ship_methods_id from " . TABLE_PRODUCTS_SHIPPING . " where products_id = '" . $products['products_id'] . "'");		  $products_shipping = tep_db_fetch_array($products_shipping_query);		  // end indvship

 

Find

 

		 $products_array[] = array('id' => $products_id,									'name' => $products['products_name'],									'model' => $products['products_model'],									'image' => $products['products_image'],									'price' => $products_price,									'quantity' => $this->contents[$products_id]['qty'],									'weight' => $products['products_weight'],									'final_price' => ($products_price + $this->attributes_price($products_id)),									'tax_class_id' => $products['products_tax_class_id'],

 

Insert AFTER it

 

	  // start indvship		'products_ship_price' => $products_shipping['products_ship_price'],		'products_ship_price_two' => $products_shipping['products_ship_price_two'],		'products_ship_zip' => $products_shipping['products_ship_zip'],	// end  indvship

 

In catalog\includes\classes\order.php

 

Find

	  $this->info = array('order_status' => DEFAULT_ORDERS_STATUS_ID,						  'currency' => $currency,						  'currency_value' => $currencies->currencies[$currency]['value'],						  'payment_method' => $payment,

 

Insert BEFORE it

 

	  //start indvship	  if($shipping['id']==indvship_indvship){		$shipping_cost = $shipping['cost'];		$shipping_title = $shipping['title'];	  } else {		$shipping_cost = $shipping['cost'] + $shipping['invcost'];		if ($shipping['invcost'] > 0) {		  $shipping_title = $shipping['title']. ' Plus Flat Rate Shipping';		} else {		  $shipping_title = $shipping['title'];		}	  }	  // end indvship 

 

Find

 

						  'subtotal' => 0,						  'tax' => 0,						  'tax_groups' => array(),

 

Insert BEFORE it

 

			  // start indvship						  //'shipping_method' => $shipping['title'],						  //'shipping_cost' => $shipping['cost'],						  'shipping_method' => $shipping_title,						  'shipping_cost' => $shipping_cost, 			  //end indvship 

 

 

 

Hope that helps

Link to comment
Share on other sites

  • 3 weeks later...

Hi Guys

 

Just need some help here please. A qualified coder installed the latest version for me and all seems to be working fine except..

 

After allocating the shipping price of say $10 for an item (Admin>Catalog>Products>Edit), once I run a test purchase for this item, the shipping price of $10 doesn't show at checkout, it shows $0.

 

Any suggestions how I can rectify this?

 

Thx

Link to comment
Share on other sites

I have the admin zip, ship1 and two saving in admin. However, I have been stumped trying to figure out why it is not showing up on frontpage checkout. No shipping fees, just 0. Your help is appreciated as I have checked all my back steps.

fan4chevy, how did you resolve it as I am having the same problem - "0" value at checkout.

George

Link to comment
Share on other sites

  • 7 months later...
  • 2 weeks later...

OK stupid question but where am I putting this file...

 

I unzipped and I have product_info.php and no instructions.

 

Where is the documentation for this?

 

I am using OSC 2.3

Thanks

 

OK found the FULL install - this latest (http://addons.oscommerce.com/info/1333) is only to replace the one file in Individual Product Shipping Prices - v.4.5 full - Found under history

 

I'll let you know how it goes.

Edited by siouxsie
Link to comment
Share on other sites

  • 1 year later...

Hi,

 

I've installed the addon, and I get the following error when I (as a customer) get to the checkout_shipping.php page:

 

 

Warning: mysql_query() [function.mysql-query]: Access denied for user 'root'@'localhost' (using password: NO) in /home/creativ3/public_html/orders/includes/classes/shipping.php on line 31

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/creativ3/public_html/orders/includes/classes/shipping.php on line 31

Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in /home/creativ3/public_html/orders/includes/classes/shipping.php on line 34

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/creativ3/public_html/orders/includes/classes/shipping.php on line 94

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/creativ3/public_html/orders/includes/classes/shipping.php on line 94

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/creativ3/public_html/orders/includes/classes/shipping.php on line 94

Warning: mysql_num_rows() expects parameter 1 to be resource, boolean given in /home/creativ3/public_html/orders/includes/classes/shipping.php on line 94

Warning: Cannot modify header information - headers already sent by (output started at /home/creativ3/public_html/orders/includes/classes/shipping.php:31) in /home/creativ3/public_html/orders/includes/functions/general.php on line 49

 

I have looked through this thread and it seems that one other user has had the same problem, but I could not find a resolution.

 

Can anyone help me with a possible cure??? :x

Link to comment
Share on other sites

  • 3 years later...

Is there a full complete module available for v2.3.4.xx as of yet?  I have looked at the contribution and it looks like there are several individual contributions but not one that encompasses the full contribution -- unless I am simply missing it.

What I have is a drop shipper who bases shipping on each individual item.  So for example:

Item 1234 has a shipping charge of 2.50

Item 5354 has a shipping charge of 5.00

Item 7498 has a shipping charge of 1.00

So when a customer order just item 1234 then there shipping total is $2.50

When a customer order item 1234 and 7498 then the total shipping would be $3.50

A customer who order a quantity of 2 7498 and a single 5354 would have a shipping charge of $7.00, etc.

 

From looking at this contribution I think that it would work in this instance.

Any thoughts or suggestions would be most helpful and thank you in advance.

Is there a full complete module available for v2.3.4.xx as of yet?  I have looked at the contribution and it looks like there are several individual contributions but not one that encompasses the full contribution -- unless I am simply missing it.

What I have is a drop shipper who bases shipping on each individual item.  So for example:

Item 1234 has a shipping charge of 2.50

Item 5354 has a shipping charge of 5.00

Item 7498 has a shipping charge of 1.00

So when a customer order just item 1234 then there shipping total is $2.50

When a customer order item 1234 and 7498 then the total shipping would be $3.50

A customer who order a quantity of 2 7498 and a single 5354 would have a shipping charge of $7.00, etc.

 

From looking at this contribution I think that it would work in this instance.

Any thoughts or suggestions would be most helpful and thank you in advance.

Edited by TruckloadSales
updated
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...