Hi,
The calculation of the total weight for the min/max weight settings of the shipping methods is done in the function getShippingProductsData of the file administrator/components/com_hikashop/classes/shipping.php
The main line there is:
$order->shipping_prices[$key]->weight += $row->product_weight * $row->cart_product_quantity;
Now, for plugins like FedEx, USPS, UPS, etc, the system has to first generate packages within the allowed dimensions and weight restrictions of the shipping service before contacting the server of the shipping service to get the shipping cost of each package.
So we can't use the previous mechanism in getShippingProductsData. Instead, the number of elements of a product in an order is taken into account in the getOrderPackage function of the file administrator/components/com_hikashop/helpers/shippingplugin.php
The simplest would be to just remove the lines:
if(isset($product->cart_product_quantity))
$qty = (int)$product->cart_product_quantity;
if(isset($product->order_product_quantity))
$qty = (int)$product->order_product_quantity;
to always use 1 for the $qty variable.
Note also that both can be overridden if necessary:
www.hikashop.com/support/documentation/6...ntation.html#classes
I would recommend to do it as an override. That way, you don't have to think about this if you do your overrides properly (by extending from the original class, overridding only the method you want to change, and in your method, making a copy of the quantities for backup, changing the quantities to 1 before calling the parent function, and then restoring the quantities before returning with the result from the parent method. That way, any fix we add in these methods will be taken into account, and no problem with updates).