I see all flat shipping methods despite they refer to different zones + solution

  • Impression eStudio
  • Topic Author
  • Offline
  • Premium Member
  • Premium Member
More
3 years 6 months ago - 3 years 6 months ago #138203 by Impression eStudio
Hi,

I have defined one country (Greece) with two different zones,
and I have assigned two flat shipping methods for each zone.
When, at the checkout, I select the first zone as delivery and payment address,
I see the flat shipping methods for both zones.
I should see one flat shipping method but I see two.

The solution I found is:
Go to the folder "components/com_eshop/plugins/shipping"
and edit ONLY the php files for flat shipping THAT REFER TO THE SPECIFIC COUNTRY (e.g. eshop_flat.php, eshop_flat2.php etc) like following:
The code:
->where('(zone_id = 0 OR zone_id = ' . intval($addressData) . ')');
is changed to:
->where('zone_id = ' . intval($addressData));

For some reason, every geozone has a zone with id=0 so the initial code shows all the flat shipping methods.

Also I think that the line with code:
->where('geozone_id = ' . intval($params->get('geozone_id'))) is of no use and I think it could be deleted.
There is no reason to select a payment method comparing it to a value from itself.

If the above are correct, could you find a solution for the next version?

Thanks,
Thanos
Last edit: 3 years 6 months ago by Impression eStudio.

Please Log in or Create an account to join the conversation.

Moderators: Giang Dinh Truong