Forums / All Other Contributions/Addons / Multiple Ship-To Addresses [Support Thread]

Multiple Ship-To Addresses [Support Thread]

Views: 13,850

Results 81 to 91 of 91
3 Dec 2020, 11:30 PM
#81
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Multiple Ship-To Addresses [Support Thread]

Will do soon. Youngest daughter lost father-in-law to Covid and we are dealing with that. Will be a bit before I get back to the compound.

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

5 Dec 2020, 7:37 PM
#82
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Re: Multiple Ship-To Addresses [Support Thread]

Still away but pecan guy says when multi placed with US addy first and Canada after, estimator shows only US postage. Lost $30 shipping on order to US & Canada.

May be relatted with tax?

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

6 Dec 2022, 6:49 PM
#83
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Re: Multiple Ship-To Addresses [Support Thread]

beginning to get foreacch() errors on line 388 of admin/inncludes/functions/html_output.php at line 388

Current code for lines 387-393```
foreach ($values as $value) {
$field .= '<option value="' . zen_output_string($value['id']) . '"';
if ($default == $value['id']) {
$field .= ' selected="selected"';
}

Real busy time of the year for these folks.  I wss wondering if he following code would fix the problem```
if (is_array($values) || is_object($values))
    foreach ($value as $value) {
      $field .= '<option value="' . zen_output_string($value['id']) . '"';
      if ($default == $value['id']) {
        $field .= ' selected="selected"';
      }

THANX

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

7 Dec 2022, 9:58 AM
#84
lat9 avatar

lat9

Administrator

Join Date:
Sep 2009
Location:
Stuart, FL
Posts:
14,119
Plugin Contributions:
56

Re: Multiple Ship-To Addresses [Support Thread]

The "fix" is to find who is calling that function with a non-array value, not to put sticking plasters everywhere an interface error could occur. Surely, the log includes a trace of 'who' called zen_draw_pull_down_menu with those invalid parameters.

14 Dec 2022, 6:02 PM
#85
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Re: Multiple Ship-To Addresses [Support Thread]

Maybe this will help. Making no sense to me.:dontgetit

1.5.7d
PHP 7.4
News Box
Dynamic Price Updater
OPC
Access Blocker
Sales Report
Mod List
Clone

[14-Dec-2022 00:09:48 UTC] Request URI: /GusBallp/index.php?cmd=orders&oID=5316&action=edit, IP address: 108.197.89.49
#1 zen_draw_pull_down_menu() called at [/GusBallp/includes/classes/observers/class.multiship_admin_observer.php:209]
#2 multiship_observer->addMultiShipStatusFields() called at [/GusBallp/includes/classes/observers/class.multiship_admin_observer.php:152]
#3 multiship_observer->update() called at [/includes/classes/class.base.php:118]
#4 base->notify() called at [/GusBallp/orders.php:1001]
#5 require(/GusBallp/orders.php) called at [/GusBallp/index.php:11]
--> PHP Warning: Invalid argument supplied for foreach() in /GusBallp/includes/functions/html_output.php on line 388.

[14-Dec-2022 00:09:48 UTC] Request URI: /GusBallp/index.php?cmd=orders&oID=5316&action=edit, IP address: 108.197.89.49
#1 zen_draw_pull_down_menu() called at [/GusBallp/includes/classes/observers/class.multiship_admin_observer.php:209]
#2 multiship_observer->addMultiShipStatusFields() called at [/GusBallp/includes/classes/observers/class.multiship_admin_observer.php:152]
#3 multiship_observer->update() called at [/includes/classes/class.base.php:118]
#4 base->notify() called at [/GusBallp/orders.php:1001]
#5 require(/GusBallp/orders.php) called at [/GusBallp/index.php:11]
--> PHP Warning: Invalid argument supplied for foreach() in /GusBallp/includes/functions/html_output.php on line 388.

[14-Dec-2022 00:09:48 UTC] Request URI: /GusBallp/index.php?cmd=orders&oID=5316&action=edit, IP address: 108.197.89.49
#1 zen_draw_pull_down_menu() called at [/GusBallp/includes/classes/observers/class.multiship_admin_observer.php:209]
#2 multiship_observer->addMultiShipStatusFields() called at [/GusBallp/includes/classes/observers/class.multiship_admin_observer.php:152]
#3 multiship_observer->update() called at [/includes/classes/class.base.php:118]
#4 base->notify() called at [/GusBallp/orders.php:1001]
#5 require(/GusBallp/orders.php) called at [/GusBallp/index.php:11]
--> PHP Warning: Invalid argument supplied for foreach() in /GusBallp/includes/functions/html_output.php on line 388.

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

29 Jul 2026, 11:53 PM
#86
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Re: Multiple Ship-To Addresses [Support Thread]

Just a heads up that I am hoping to have a rewrite of this mod soon.

It will be encapsulated, not touch any core files, and work just fine with One Page Checkout

It starts its job on the shopping cart. Any cart with two or more items, or a cart with one item that has a quantity of 2 or more, clicking on Checkout brings up an additional page that lets the customer know that the store can ship multiple items to multiple addresses.

The customer is given three options:

  1. Send Items to Different Addresses - Continues the Multi-Ship process using the core's 3-page checkout.
  2. Send Everything to One Address - Continues with the store's default payment method. If OPC is enabled, it is used with the option for Guest Checkout (again, if enabled).
  3. Let Me Add Some More Items - When presented to do all their shopping at once, the customer may want to add more product(s) to the order. Clicking this option returns the customer to shopping. They'll be reminded again when clicking Checkout on their new cart.

Essentially, I'm adding the option page and, if they want to multiship, using the mod's page 2 of the 3-page checkout.

I'm in the air about the store owner upping the number of addresses or upping the number of addresses only for those who select multi-ship. I'm leaning towards the latter as long as I can do it without touching core.

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

26 Aug 2026, 8:01 AM
#87
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Re: Multiple Ship-To Addresses [Support Thread]

Finally got around to putting this together, but am having some problems getting it in the plugins.

Until available at https://www.zen-cart.com/plugins/multiple-ship-to-addresses-vb1823, the new version is available at https://github.com/dbltoe/multiship-3/releases/tag/v3.0.0

Multiple Ship-To Addresses v3.0.0 is a rewrite of the plugin as a fully encapsulated zc_plugin. It does not change any core or template files, installs and uninstalls via Plugin Manager, and supports Zen Cart 2.0.0 through 2.3.0 on PHP 8 and up.

Built on the plugin created by lat9 of Vinos de Frutas Tropicales, whose original work provides the order splitting, the per-address shipping costs, and the destination-based tax handling, this version still relies on.

What is new

Three steps instead of five. The shipping method is now chosen on the address grid itself, so a customer goes cart → addresses → payment → confirmation without being asked to confirm a method they already picked.

Every item is addressable individually. Each unit gets its own row rather than a quantity box, and nothing is assigned by default — a row with no address chosen blocks checkout instead of silently shipping to the customer's own address.

The per-address breakdown appears on every page where it should — confirmation, order success, the customer's order history, and the admin's order details, invoice, and packing slip. The admin receives a packing slip for each destination.

Quantity discounts survive the split. A cart qualifying for a quantity discount was kept after being split between addresses; previously, the discount was recalculated per consignment and lost.

Unshippable addresses are marked, not merely rejected. If the chosen shipping method cannot serve an address, that row is flagged with a warning icon, the reason is displayed above the grid, and checkout is blocked until the issue is resolved.

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

5 Oct 2026, 12:13 AM
#88
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Re: Multiple Ship-To Addresses [Support Thread]

Multiple Ship-To Addresses v3.0.2 is out. It's a bug-fix release we'd urge anyone on 3.0.0 or 3.0.1 to pick up, and especially if your products use checkbox attributes.

If a customer had a product in the cart with any checkbox ticked, the shopping cart page stopped with FATAL MySQL error 1054: Unknown column '13_chk36' in 'where clause' (the numbers vary with your option and value ids). Zen Cart stores a ticked checkbox under a combined key, and our check for downloadable attributes treated that key as a plain option number. That was our mistake, and it's been there since 3.0.0. 3.0.2 reads both halves of the key, so checkbox, text and every other attribute type are handled the same way.

While we were in there, we fixed a second one: if a shipping method's title contained an apostrophe (Bob's Courier, say), a customer who chose multiple addresses couldn't place the order, because the title went into the database unescaped. It's escaped now.

To upgrade, upload zc_plugins/MultiShip/v3.0.2/ and click Upgrade beside Multiple Ship-To Addresses in Admin → Modules → Plugin Manager. Nothing in your settings or database changes, and Multiple Ship-To Addresses Pro works with it as-is.

Download: https://github.com/dbltoe/multiship-3/releases/tag/v3.0.2

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

6 Oct 2026, 10:57 PM
#89
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Re: Multiple Ship-To Addresses [Support Thread]

Plugin ID fix for copies downloaded from the Plugins Library

If you downloaded Multiple Ship-To Addresses v3.0.0 from the Plugins Library before 6 October, its manifest.php carries the wrong Plugin ID, 1723, which belongs to another plugin. Plugin Manager uses that ID to check for updates, so it couldn't tell you when v3.0.1 and v3.0.2 came out. The Library's packaging step wrote the wrong number, and the Zen Cart team fixed its copies on 6 October. Copies from GitHub and myzencartzone.com always carried the right ID, 1823.

To check yours, open zc_plugins/MultiShip/v3.0.0/manifest.php and look at the 'pluginId' => line. If it says 1723, here's the fix. On Zen Cart 2.2.0 and later, install v3.0.2 (or put a current copy of manifest.php in place) and open Plugin Manager once; it picks up 1823 by itself. On 2.0.x and 2.1.x, Plugin Manager keeps the ID it recorded when it first saw the plugin, so run this line in Admin > Tools > Install SQL Patches (it adds your table prefix itself):

UPDATE plugin_control SET zc_contrib_id = 1823 WHERE unique_key = 'MultiShip';

Latest release: https://github.com/dbltoe/multiship-3/releases/tag/v3.0.2

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

20 Oct 2026, 9:30 PM
#90
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Re: Multiple Ship-To Addresses [Support Thread]

Multiple Ship-To Addresses v3.0.3 is out. If you run Zen Cart 2.0.x or 2.1.x, this is the one you want; on 2.2 and 2.3 it changes nothing you'll notice.

3.0.0 through 3.0.2 said they supported Zen Cart 2.0 and 2.1, and they didn't. On 2.0, every storefront page stopped with Class "multiship_early_observer" not found. On 2.0 and 2.1, the login page, and My Account, order history and checkout for a signed-in customer, stopped with Failed opening required 'includes/modules/pages/login/jscript_multiship_login_focus.php'. Both come down to those versions looking for a plugin's files in the wrong place, and our code relying on the defaults that 2.2 later fixed. That was our mistake, and we're sorry to anyone who hit it. 3.0.3 tells 2.0 and 2.1 exactly where its files are, and Zen Cart's own files are still found first.

We also tidied the multiship invoice and packing slip: opened for an ordinary order they now hand off to Zen Cart's own invoice or packing slip, and for a missing order number they go back to the Orders page instead of warning or stopping.

To upgrade, upload zc_plugins/MultiShip/v3.0.3/ and click Upgrade beside Multiple Ship-To Addresses in Admin → Modules → Plugin Manager. Nothing in your settings or database changes, and Multiple Ship-To Addresses Pro works with it as-is.

Download: https://github.com/dbltoe/multiship-3/releases/tag/v3.0.3

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

22 Oct 2026, 11:01 AM
#91
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,862
Plugin Contributions:
18

Re: Multiple Ship-To Addresses [Support Thread]

Multiple Ship-To Addresses v3.0.4 is out. If your store runs Zen Cart 2.1.x, please upgrade now.

On Zen Cart 2.1.x, 3.0.3 charged an order sent to two or more addresses for the first address only. Every address still shipped, but the second and later addresses were priced at nothing, so the payment page, the order total and the amount charged covered the first address alone. Zen Cart 2.1 reports a module's language file as not loaded the second time it's asked for it in one page load, and Zen Cart's order totals then leave that module out; the plugin built them fresh for each address. 3.0.4 builds them once and gives each address fresh order-total modules. Zen Cart 2.0, 2.2, 2.3 and 3.0 weren't affected. That was our mistake, and we're sorry. If you took multi-address orders on 2.1 with 3.0.3, please check them against what was shipped: each one's total is the first address's share.

Also in 3.0.4: the multiship invoice and packing slip no longer log a deprecation notice for each status comment, and Zen Cart 3.0.0 is now listed as supported. Before release we placed a complete two-address order, from the address grid through to a placed order, on Zen Cart 2.0, 2.1, 2.2, 2.3 and 3.0.

To upgrade, upload zc_plugins/MultiShip/v3.0.4/ and click Upgrade beside Multiple Ship-To Addresses in Admin → Modules → Plugin Manager. Nothing in your settings or database changes.

Download: https://github.com/dbltoe/multiship-3/releases/tag/v3.0.4

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com