Antwort #8 am: 22. September 2016, 23:38:10
[...]
Evtl. ist das auch ein Mißverständnis: mir geht es nicht darum wie man es benutzt ("rumprobieren") sondern wie es programmiert ist.
So ist es programmiert
$shipping_weight = $total_weight;
if (SHIPPING_BOX_WEIGHT >= $shipping_weight*SHIPPING_BOX_PADDING/100) {
$shipping_weight = $shipping_weight+SHIPPING_BOX_WEIGHT;
} else {
$shipping_weight = $shipping_weight + ($shipping_weight*SHIPPING_BOX_PADDING/100);
}
und hier die komplette Funktion in der 'includes/classes/shipping.php' aus der obiges Fragment stammt
function quote
($method = '', $module = '') { global $total_weight, $shipping_weight, $shipping_quoted, $shipping_num_boxes; $quotes_array = array(); if (is_array($this->modules)) { $shipping_quoted = ''; $shipping_num_boxes = 1; $shipping_weight = $total_weight; if (SHIPPING_BOX_WEIGHT
>= $shipping_weight*SHIPPING_BOX_PADDING
/100) { $shipping_weight = $shipping_weight+SHIPPING_BOX_WEIGHT
; } else { $shipping_weight = $shipping_weight + ($shipping_weight*SHIPPING_BOX_PADDING
/100); } if ($shipping_weight > SHIPPING_MAX_WEIGHT
) { // Split into many boxes $shipping_num_boxes = ceil($shipping_weight/SHIPPING_MAX_WEIGHT
); $shipping_weight = $shipping_weight/$shipping_num_boxes; } $include_quotes = array(); reset($this->modules); while (list(, $value) = each($this->modules)) { $class = substr($value, 0, strrpos($value, '.')); if (xtc_not_null
($module) && isset($GLOBALS[$class])) { if ($module == $class && $GLOBALS[$class]->enabled) { $include_quotes[] = $class; } } elseif ($GLOBALS[$class]->enabled) { $include_quotes[] = $class; } } for ($i=0, $size = sizeof($include_quotes); $i<$size; $i++) { $quotes = $GLOBALS[$include_quotes[$i]]->quote($method); if (is_array($quotes)) $quotes_array[] = $quotes; } } return $quotes_array; } Angenommen man macht im Admin unter Konfiguration -> Versand Optionen folgende Einträge
Maximalgewicht, das als ein Paket versendet werden kann = 50 (Maximalgewicht für ein Paket 50kg)
Paketleergewicht = 3 (Paketleergewicht 3kg)
Bei grösseren Leerpaketen - Gewichtszuwachs in % = 10 (10% Gewichtszuwachs)
dann würden daraus folgende Beispiele resultieren.
Beispiel1:
Wenn das
Gewicht aller Produkte 13kg beträgt, ergibt sich ein
Versandgewicht von 16kg, weil 10% von 13kg kleiner als das Paketleergewicht von 3kg ist wird zum Gewicht aller Produkte (13kg) das Paketleergewicht (3kg) dazu gerechnet.
Beispiel2:
Wenn das
Gewicht aller Produkte 32kg beträgt, ergibt sich ein
Versandgewicht von 35,2kg, weil 10% von 32kg grösser als das Paketleergewicht von 3kg ist wird zum Gewicht aller Produkte (32kg) 10% dazu gerechnet.
Gruss
Hanspeter