Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Multi_Vendor_Shipping new thread


blucollarguy

Recommended Posts

So you do have to make the checkout_process.php changes from MVS in Paypal IPN? I've just checked it at a glance, but a lot of the changes suggested don't even seem to be in the 2 files from Paypal IPN? Is it ok to bypass some of the changes, or are they important?

 

I am really not sure about the changes you are talking about. I have slept since I did this install and I really don't remember that far back. :blink: I know that when I installed it I just followed the instructions that came with the OSC PayPal IPN and I don't remember making any modifications to it from MVS. Not saying that I didn't, I just don't remember doing it. What I do remember and know is (because I keep a change log) I installed the MVS contribution before I installed any other contrib. I found it easier this way for me. I did not install the PayPal IPN contrib until much later in the game and the more I think about it the more I am pretty sure I did not make any mods to the PayPal IPN. I don't think you have to. Hopefully if I am wrong someone who knows will correct us. I am not having any issues with the OSC PayPal IPN working with my store. If you would like, I can PM you the code from my checkout_process.php file.

I got that fixed easily. You just have to make sure Shipping is enabled under Order Totals, and it will show.

I think I must have misunderstood what you were asking for. I thought you wanted something that gave a total of all of the shipping charges at the bottom of the shipping page. Sorry!

Link to comment
Share on other sites

Check the language files for the kg/lb thing. I am not sure about where else that may be changed right now, there is something in the back of my mind about it, but I can't quite put a finger on it.

The handling fee: do a search for it, you should find some code posted some pages back, several of the modules did not end up with the right code to add the vendor handling fee.

 

Good luck, Craig :)

 

Hi Craig,

I searched all of the language files and every php file in my entire store for any occurrence of the two letters kg. The only result I received was a partial match in the site certificate key. :blink:

 

Not only did I search the entire store but I also physically reviewed all of the code that I could think of that might have anything to do with this. In every place that you think you would find it there was lb. instead (just like I want it).

 

I also searched my database for the off chance that it might be in there somewhere. No luck there either.

 

This one has me stumped. It doesn't make any sense. I am not going to loose sleep over it though. It will just have to stay until I stumble across it some day or someone happens to tell me where it is hiding. <_<

 

I am searching for the handling charge post, thanks for the response.

 

If I ever figure out where the weight is being set, I'll share the news. :thumbsup:

 

Gary

Link to comment
Share on other sites

I need some help setting up my shipping please?

 

I currently have 2 vendors here - www.brummiesfans.com/shop

 

Enjay offer free shipping and I want them to receive and handle their orders that way.

realToReel add £2 for postage and packing.

 

I have currently assumed that if I do "Free Shipping" to all, and adjust RealToReel's handling charge to £2, then all will work out. Somehow, even though I have set shipping to Zero in Modules / Shipping, the system seems to pck up on an old £2 shipping charge, which then gets increased to £4 for RealToReel.

 

I lost that much patience with updating the Zero Shipping cost in the Flat Rate module and enabling free shipping that I have now uninstalled all of the Shipping modules and I still get a £2 shipping charge as standard in the store.

 

Can someone please help me with the way to get around this problem. Do I need to purge the £2 from the database somewhere? I need this site to be working properly soon, so any urgent help would be much appreciated.

 

Thanks

 

Martin

Link to comment
Share on other sites

Mark -- You're right about the global variable. Use the following code to get the correct weight by vendor:

		$weight = $cart->vendor_shipping[$vendors_id]['weight'];

Change the $weight variable as needed for your code. Good luck with your mods, and please contribute your code when you get it finished.

 

Martin -- There is a setting for handling charge in the Vendors setup for each vendor; make certain that is set to zero. Some modules still have a handling charge built in as well. The Free module doesn't have any charges, so look elsewhere if you are using that one. You need to have at least one shipping module set up for each vendor or the results will be unpredictable (Usually nasty error messages, but that's not guaranteed.) The FREE_SHIPPING_TITLE constant is set in catalog/includes/languages/english/free.php.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

I am trying to get MVS to work with Free Shipping Per Product

http://www.oscommerce.com/community/contri...h,free+shipping

 

Anyone have these contribs working together? Im pretty sure its the way i combined the code in checkout_shipping.php

 

I got the page to load, but nothing shows for free. And then when i enable Free Shipping for that specific vendor, then EVERYTHING shows up for free. So its not using the code that applies free shipping to just certain products.

 

you can see my checkout_shipping.php here

http://www.wearemanalive.com/checkout_shipping.txt

Link to comment
Share on other sites

I am really not sure about the changes you are talking about. I have slept since I did this install and I really don't remember that far back. :blink: I know that when I installed it I just followed the instructions that came with the OSC PayPal IPN and I don't remember making any modifications to it from MVS. Not saying that I didn't, I just don't remember doing it. What I do remember and know is (because I keep a change log) I installed the MVS contribution before I installed any other contrib. I found it easier this way for me. I did not install the PayPal IPN contrib until much later in the game and the more I think about it the more I am pretty sure I did not make any mods to the PayPal IPN. I don't think you have to. Hopefully if I am wrong someone who knows will correct us. I am not having any issues with the OSC PayPal IPN working with my store. If you would like, I can PM you the code from my checkout_process.php file.

Gary,

 

Would you be willing to share your paypal_ipn.php (from the \includes\modules\payment directory) and ipn.php (from the \ext\modules\payment\paypal_ipn directory)?

 

The install instructions for IPN says:

The PayPal IPN works different from other payment modules and bypasses the checkout_process file. Which means that any contribution which modifies the checkout_process.php file will require some manual coding TLC in paypal_ipn.php and ipn.php.

 

MVS works just fine in my site, but when I set up the IPN mod the MVS stops working. I have gone through the MVS 1.1 installation routine and taken the instructions for updating checkout_process.php and have applied those changes to the paypal_ipn.php and ipn.php files, however I can't figure out where to put the very first update form checkout_process.php

 

===================
Find Lines 42, 43 & 44
===================

// load the selected shipping module
 require(DIR_WS_CLASSES . 'shipping.php');
 $shipping_modules = new shipping($shipping);


=============
Replace With
=============

//MVS start
   // load the selected shipping module
  if (($total_weight > 0 ) || (SELECT_VENDOR_SHIPPING == 'true')){
       include(DIR_WS_CLASSES . 'vendor_shipping.php');
     } elseif (($total_weight > 0 ) || (SELECT_VENDOR_SHIPPING == 'false')){
       include(DIR_WS_CLASSES . 'shipping.php');
     }
     $shipping_modules = new shipping($shipping);	
     //MVS End

 

any help is greatly appreciated.

Link to comment
Share on other sites

Thx Jim..I've tried adding that piece of code, but no luck yet.

 

There are a few different references to weight within the Canadapost.php page: $shipping_weight, $total_weight, $weight.

 

Canada post also has some code to calculate the total weight from a per item aray that has per item weight info. I think the following lines are causing me the weight problem (total cart weight being used)

 

$products_array = $cart->get_products();
     for ($i=0; $i<count($products_array); $i++)
      // removed product name being sent to canada post to as some characters will cause Cp to result in an error & % and others in the product name
      // $this->_addItem ($products_array[$i][quantity], $products_array[$i][final_price], $products_array[$i][weight], $products_array[$i][length], $products_array[$i][width], $products_array[$i][height], $products_array[$i][name], $products_array[$i][ready_to_ship], $products_array[$i][dim_type], $products_array[$i][weight_type]);
       $this->_addItem ($products_array[$i][quantity], $products_array[$i][final_price], [b]$products_array[$i][weight],[/b] $products_array[$i][length], $products_array[$i][width], $products_array[$i][height], 'online_product', $products_array[$i][ready_to_ship], $products_array[$i][dim_type], $products_array[$i][weight_type]);

 

and these lines of code further down:

  function _addItem ($quantity, $rate, $weight, $length, $width, $height, $description, $ready_to_ship, $dim_type, $weight_type) {
     $index = $this->items_qty;
     $this->item_quantity[$index] = (string)$quantity;
     $this->item_weight[$index] = ( $weight ? (string)$weight : '0' );
     $this->item_length[$index] = ( $length ? (string)$length : '0' );
     $this->item_width[$index] = ( $width ? (string)$width : '0' );
     $this->item_height[$index] = ( $height ? (string)$height : '0' );
     $this->item_description[$index] = $description;
     $this->item_ready_to_ship[$index] = (string)$ready_to_ship;
     $this->item_dim_type[$index] = (string)$dim_type;
     $this->item_weight_type[$index] = (string)$weight_type;
     $this->items_qty ++;
     $this->items_price += $quantity * $rate;
   }

 

After that, the 'weight' and other dimension info is passed to Canada post (at the moment I'm just worried about the weight as I'm not using dimension info for other shipping vendors , will be zero values for products using other shipping vendors so it wont affect the total).

 

 

What i need is to have just the products with the Vendor ID associated with Canada post to be used for these product/item arrays.

 

Can you let me know if i need to adjust the code above? Or maybe I haven't applied the line of code you sugested earlier.

 

I've tried this below...but makes no difference. What is the difference between $weight and $shipping_weight

 

 $shipping_weight = $cart->vendor_shipping[$vendors_id]['weight'];

     $shipping_weight = round($shipping_weight, 2);

 

Thx for the help

Link to comment
Share on other sites

Martin -- There is a setting for handling charge in the Vendors setup for each vendor; make certain that is set to zero. Some modules still have a handling charge built in as well. The Free module doesn't have any charges, so look elsewhere if you are using that one. You need to have at least one shipping module set up for each vendor or the results will be unpredictable (Usually nasty error messages, but that's not guaranteed.) The FREE_SHIPPING_TITLE constant is set in catalog/includes/languages/english/free.php.

 

Regards

Jim

 

Thanks for that Jim

 

One other bit of help needed. In the e-mails that are sent out with the purchases, there are lines like this:

 

There will be at least 1 packages shipped.

 

Shipment Number 1 - flat - Best Way - 2.0000

 

1 x Stoke v Birmingham 31-03-2007 - 03-31 Stoke

 

Tax 0.00%

Price Per Item - £12.00

Total Without Tax - £12.00

Total Including Tax - £12.00

------------------------------------------------------

Sub-Total: £12.00

Best Way: £2.00

Total: £14.00

 

Through setting the system up, I know what is meant by the "Best Way" - but in the context of the e-mail, which is then sent to a supplier, it would be a bit more user friendly, IMO, if it just said "Postage & Packing" or something to that effect

 

How can this bit of the e-mail be editid?

 

Thanks

 

Martin

Link to comment
Share on other sites

Gary,

 

Would you be willing to share your paypal_ipn.php (from the \includes\modules\payment directory) and ipn.php (from the \ext\modules\payment\paypal_ipn directory)?

 

The install instructions for IPN says:

 

MVS works just fine in my site, but when I set up the IPN mod the MVS stops working. I have gone through the MVS 1.1 installation routine and taken the instructions for updating checkout_process.php and have applied those changes to the paypal_ipn.php and ipn.php files, however I can't figure out where to put the very first update form checkout_process.php

 

===================
Find Lines 42, 43 & 44
===================

// load the selected shipping module
 require(DIR_WS_CLASSES . 'shipping.php');
 $shipping_modules = new shipping($shipping);
=============
Replace With
=============

//MVS start
   // load the selected shipping module
  if (($total_weight > 0 ) || (SELECT_VENDOR_SHIPPING == 'true')){
       include(DIR_WS_CLASSES . 'vendor_shipping.php');
     } elseif (($total_weight > 0 ) || (SELECT_VENDOR_SHIPPING == 'false')){
       include(DIR_WS_CLASSES . 'shipping.php');
     }
     $shipping_modules = new shipping($shipping);	
     //MVS End

 

any help is greatly appreciated.

Sure, no problem. PM me your Email and I'll send you the files.

 

Gary

Link to comment
Share on other sites

Thanks for that Jim

 

One other bit of help needed. In the e-mails that are sent out with the purchases, there are lines like this:

 

There will be at least 1 packages shipped.

Through setting the system up, I know what is meant by the "Best Way" - but in the context of the e-mail, which is then sent to a supplier, it would be a bit more user friendly, IMO, if it just said "Postage & Packing" or something to that effect

 

How can this bit of the e-mail be editid?

 

Thanks

 

Martin

Look in the language file for the shipping module that you are using. The language files are in catalog/includes/languages/english/modules/vendors_shipping/.

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Hi guys,

 

Great contribution - hats off to you ;-)

 

I just installed MVS 1.1 on a vanilla install of OSC. All is good except I get this when I click "Vendor Orders List" in Admin:

 

Parse error: parse error, unexpected $end in x:\xxx\xxxxxxx\admin\orders_by_vendor.php on line 234

 

Any ideas? I'm running locally at the moment:

 

Apache 2.0.52

MySQL 5

PHP 5.1.6

 

thanks

 

Jason

Link to comment
Share on other sites

Hi guys,

 

Great contribution - hats off to you ;-)

 

I just installed MVS 1.1 on a vanilla install of OSC. All is good except I get this when I click "Vendor Orders List" in Admin:

 

Parse error: parse error, unexpected $end in x:\xxx\xxxxxxx\admin\orders_by_vendor.php on line 234

 

Any ideas? I'm running locally at the moment:

 

Apache 2.0.52

MySQL 5

PHP 5.1.6

 

thanks

 

Jason

My first guess would be simply a corrupted file. Try unpacking and copying it over again. As far as I know, no body else has had this problem.

 

Good luck, Craig :)

Happy Coding!

Craig Garrison Sr

Anything worth having, is worth working for.

Multi Vendor Shipping V1.1 Demo Catalog

3 Vendors, each category, "buy" a product from each category to see how MVS works during checkout.

Multi Vendor Shipping V1.1 Demo Admin

login: [email protected]

pass: mvs_demo

MVS Thread:

Multi-Vendor Shipping

My contribs:

Download Multi Vendor Shipping V1.1

Vendor Email

Vendor Info in easypopulate

EZ Price Updater

And more to come!

Link to comment
Share on other sites

This MVS is great and exactly what I needed. But Iam having one problem.

 

I am getting the following error with FEDEX during checkout?

 

Warning: Missing argument 2 for _setservice() in /home/thefu5/public_html/includes/modules/vendors_shipping/fedex1.php on line 274

 

Warning: Cannot modify header information - headers already sent by (output started at /home/thefu5/public_html/includes/modules/vendors_shipping/fedex1.php:274) in /home/thefu5/public_html/includes/functions/general.php on line 33

 

Has anyone else seen this or do they know what causes it?

 

You can recreate the error at:

 

http://www.thefuzzyslippertradingpost.com

 

Go to the candles section and try to checkout using any of the FEDEX options.

 

I am pretty sure I can solve the header info problem but it is the first message that has me baffled.

 

I have been up all night and I can't find what's wrong. Then again I am not a PHP expert or programmer by any means.

 

Thanks in advance for any help.

The tomb could not hold God's Son...but your heart can

Link to comment
Share on other sites

This MVS is great and exactly what I needed. But Iam having one problem.

 

I am getting the following error with FEDEX during checkout?

 

Warning: Missing argument 2 for _setservice() in /home/thefu5/public_html/includes/modules/vendors_shipping/fedex1.php on line 274

 

Warning: Cannot modify header information - headers already sent by (output started at /home/thefu5/public_html/includes/modules/vendors_shipping/fedex1.php:274) in /home/thefu5/public_html/includes/functions/general.php on line 33

 

Has anyone else seen this or do they know what causes it?

 

You can recreate the error at:

 

http://www.thefuzzyslippertradingpost.com

 

Go to the candles section and try to checkout using any of the FEDEX options.

 

I am pretty sure I can solve the header info problem but it is the first message that has me baffled.

 

I have been up all night and I can't find what's wrong. Then again I am not a PHP expert or programmer by any means.

 

Thanks in advance for any help.

 

can you send me that file and i will take a look for you

Regards

 

Mark A Reynolds

Link to comment
Share on other sites

This MVS is great and exactly what I needed. But Iam having one problem.

 

I am getting the following error with FEDEX during checkout?

 

Warning: Missing argument 2 for _setservice() in /home/thefu5/public_html/includes/modules/vendors_shipping/fedex1.php on line 274

 

Warning: Cannot modify header information - headers already sent by (output started at /home/thefu5/public_html/includes/modules/vendors_shipping/fedex1.php:274) in /home/thefu5/public_html/includes/functions/general.php on line 33

 

Has anyone else seen this or do they know what causes it?

 

You can recreate the error at:

 

http://www.thefuzzyslippertradingpost.com

 

Go to the candles section and try to checkout using any of the FEDEX options.

 

I am pretty sure I can solve the header info problem but it is the first message that has me baffled.

 

I have been up all night and I can't find what's wrong. Then again I am not a PHP expert or programmer by any means.

 

Thanks in advance for any help.

That was a bug in the fedex1.php file. I used the wrong file when I put together that package and we had posted the fix not long after I upoloaded it.

 

Find this line:

function _setService(

The complete function you have probably looks like this:

	function _setService($service, $vendors_id = '1') {
  $this->service = $service;
}

Change it to:

	function _setService($service) {
  $this->service = $service;
}

And your problem should go away.

 

Craig :)

Happy Coding!

Craig Garrison Sr

Anything worth having, is worth working for.

Multi Vendor Shipping V1.1 Demo Catalog

3 Vendors, each category, "buy" a product from each category to see how MVS works during checkout.

Multi Vendor Shipping V1.1 Demo Admin

login: [email protected]

pass: mvs_demo

MVS Thread:

Multi-Vendor Shipping

My contribs:

Download Multi Vendor Shipping V1.1

Vendor Email

Vendor Info in easypopulate

EZ Price Updater

And more to come!

Link to comment
Share on other sites

That was a bug in the fedex1.php file. I used the wrong file when I put together that package and we had posted the fix not long after I upoloaded it.

 

Find this line:

function _setWeight($pounds, $vendors_id = '1') {
     $this->pounds = sprintf("%01.1f", $pounds);
   }
   function _setPackageType($type, $vendors_id = '1') {
     $this->packageType = $type;
   }
   function _setInsuranceValue($order_amount, $vendors_id = '1') {
     if ($order_amount > constant('MODULE_SHIPPING_FEDEX1_INSURE_' . $vendors_id)) {
       $this->insurance = sprintf("%01.2f",$order_amount);
     } else {
       $this->insurance = 0;
     }
   }
   function _AccessFedex($data, $vendors_id = '1') {

 

They don't seem to be causing a problem but I was wondering if they need to be changed as well.

 

Thanks for the quick answer.

The tomb could not hold God's Son...but your heart can

Link to comment
Share on other sites

That was a bug in the fedex1.php file. I used the wrong file when I put together that package and we had posted the fix not long after I upoloaded it.

 

Find this line:

function _setWeight($pounds, $vendors_id = '1') {
     $this->pounds = sprintf("%01.1f", $pounds);
   }
   function _setPackageType($type, $vendors_id = '1') {
     $this->packageType = $type;
   }
   function _setInsuranceValue($order_amount, $vendors_id = '1') {
     if ($order_amount > constant('MODULE_SHIPPING_FEDEX1_INSURE_' . $vendors_id)) {
       $this->insurance = sprintf("%01.2f",$order_amount);
     } else {
       $this->insurance = 0;
     }
   }
   function _AccessFedex($data, $vendors_id = '1') {

 

They don't seem to be causing a problem.

The tomb could not hold God's Son...but your heart can

Link to comment
Share on other sites

That was a bug in the fedex1.php file. I used the wrong file when I put together that package and we had posted the fix not long after I upoloaded it.

 

Find this line:

function _setService(

The complete function you have probably looks like this:

	function _setService($service, $vendors_id = '1') {
  $this->service = $service;
}

Change it to:

	function _setService($service) {
  $this->service = $service;
}

And your problem should go away.

 

Craig :)

 

Sorry about the double post. I'm having problems with ISP.

The tomb could not hold God's Son...but your heart can

Link to comment
Share on other sites

Sorry about the double post. I'm having problems with ISP.

It happens it happens to the best of us.

 

The other functions there have never been a problem. Don't fix what isn't broken is my motto.

 

Good luck with your shop, Criag :)

Happy Coding!

Craig Garrison Sr

Anything worth having, is worth working for.

Multi Vendor Shipping V1.1 Demo Catalog

3 Vendors, each category, "buy" a product from each category to see how MVS works during checkout.

Multi Vendor Shipping V1.1 Demo Admin

login: [email protected]

pass: mvs_demo

MVS Thread:

Multi-Vendor Shipping

My contribs:

Download Multi Vendor Shipping V1.1

Vendor Email

Vendor Info in easypopulate

EZ Price Updater

And more to come!

Link to comment
Share on other sites

As far as I know, no body else has had this problem.

Hi Craig - thanks for responding. I agree with you - this problem has not been noted by anyone in the support thread or the boards. I downloaded a fresh version, unpacked and copied over and still get the error though. The rest of the contribution works fine. Very strange....

 

I'm running locally at the moment - I'll try uploading the store to my web server and see if that makes a difference.

 

cheers

Link to comment
Share on other sites

Hi Craig - thanks for responding. I agree with you - this problem has not been noted by anyone in the support thread or the boards. I downloaded a fresh version, unpacked and copied over and still get the error though. The rest of the contribution works fine. Very strange....

 

I'm running locally at the moment - I'll try uploading the store to my web server and see if that makes a difference.

 

cheers

That page works fine on my remote server. I suspect either the version of PHP/MySQL that you are running or some PHP setting is causing problems. If you can figure out what it is complaining about we can fix the code to be more compatible. I'll try to do sme more testing when I get my test server box running again (It's the month of hardware failures here.)

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

Link to comment
Share on other sites

Hi Jim,

 

I found that the page was missing two closing '}' on a couple of the conditionals. I added them in at the bottom of code shown below (in bold/red) and the page now works fine:

 

$date_purchased = ((strlen($day) == 1) ? '0' . $day : $day) . '/' .

((strlen($month) == 1) ? '0' . $month : $month) .

'/' .

$year;

 

}

}

}

 

If you do a search on this page you'll see there are 25 opening '{' braces but only 23 closing '}' ones (taking into account the one commented out on line 212)

 

cheers

 

Jason

Edited by jasonabc
Link to comment
Share on other sites

I just tried your change and it threw an error at the next right brace. When I take the change out it works fine. Are you using the file from the MVS 1.1 distribution?

 

Regards

Jim

See my profile for a list of my addons and ways to get support.

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