• Resolved marvinm

    (@marvinm)


    Hey,

    w?re es m?glich für jede Versandart ein Standardgewicht zu hinterlegen, welches immer zu jeder Sendung addiert wird?
    Momentan muss ich das Gewicht jeder Sendung manuell um 200-300gramm (soviel wiegen die Kartons ca.) erg?nzen.

    Vielen Dank im Voraus!

Viewing 7 replies - 1 through 7 (of 7 total)
  • Plugin Author vendidero

    (@vendidero)

    Hi,

    Du k?nntest den Filter woocommerce_label_get_weight – das erh?lt das Sendungsgewicht + das Label als Argument. Du kannst das Gewicht dann einfach anpassen. Beispiel:

    add_filter( 'woocommerce_label_get_weight', 'my_child_adjust_label_weight', 10, 2 );
    
    function my_child_adjust_label_weight( $weight, $label ) {
       $weight = $weight + 0.2;
    
       return $weight;
    }

    Grü?e

    Thread Starter marvinm

    (@marvinm)

    Danke für die schnelle Antwort ??

    Leider funktioniert der Filter nicht. Die einzige Funktion, die ich gefunden habe, welches das Gewicht Manipuliert ist “wc_gzd_dhl_get_shipment_weight”.
    Hier wird z.B. auch das Mindestgewicht entschieden.
    Toll w?re die Funktion wiefolgt:

    function wc_gzd_dhl_get_shipment_weight( $shipment, $unit = 'kg' ) {
    	$shipping_method     = $shipment->get_shipping_method();
    	$shipment_weight     = $shipment->get_weight();
        $dhl_shipping_method = wc_gzd_dhl_get_shipping_method( $shipping_method );
        $add_weight          = wc_get_weight( Package::get_setting( 'label_add_shipment_weight', $dhl_shipping_method ), $unit, 'kg' ); /**in den Settings ein Zus?tzliches <input>*/
    	$min_weight          = wc_get_weight( Package::get_setting( 'label_minimum_shipment_weight', $dhl_shipping_method ), $unit, 'kg' );
        $weight              = empty( $shipment_weight ) ? wc_get_weight( Package::get_setting( 'label_default_shipment_weight', $dhl_shipping_method ), $unit, 'kg' ) : wc_get_weight( $shipment_weight, $unit, $shipment->get_weight_unit() );
        
        $weight = $weight + $add_weight
    	if ( $weight < $min_weight ) {
    		$weight = $min_weight;
        }
    
    	return $weight;
    }
    Plugin Author vendidero

    (@vendidero)

    Hi,

    das ist keine Funktion sondern ein Filter, den du per add_filter anpassen kannst. Das ist eine allg. WP-Funktionalit?t. Den Aufruf findest du hier: https://github.com/vendidero/woocommerce-germanized-dhl/blob/master/src/Label.php#L160

    Ich hatte da aber leider einen kleinen Typo – es müsste:

    add_filter( 'woocommerce_dhl_label_get_weight', 'my_child_adjust_label_weight', 10, 2 );

    hei?en – damit müsste der Filter laufen.

    Grü?e

    Thread Starter marvinm

    (@marvinm)

    Hey,

    funktioniert leider immer noch nicht – wie w?re es mit meiner L?sung: ein zus?tzliches Input in den Settings wo man das zu addierende Gewicht eintragen kann? Kann ich ein PR aufmachen?

    P.S. mein Vorschlag mit der Funktion bezieht sich auf diese Funktion wo das Gewicht Manipuliert wird (nicht Filter):
    https://github.com/vendidero/woocommerce-germanized-dhl/blob/master/includes/wc-gzd-dhl-core-functions.php#L813

    Grü?e, Marvin

    Plugin Author vendidero

    (@vendidero)

    Hi Marvin,

    das ist ja via Filter m?glich, dann muss das nicht “hardcoded” in die Funktion. Ich werde das mal am Montag genauer untersuchen und testen und kann dir dann mehr dazu sagen.

    Grü?e

    Plugin Author vendidero

    (@vendidero)

    Hi,

    sorry, ich musste noch einmal selbst meinen Code durchschauen und das testen. Folgenderma?en kannst du via Filter einfach das Label-Gewicht anpassen:

    add_filter( 'woocommerce_gzd_dhl_label_get_weight', 'my_child_adjust_label_weight', 10, 2 );
    
    function my_child_adjust_label_weight( $weight, $label ) {
    	$weight = $weight + 0.2;
    
    	return $weight;
    }

    Das habe ich soeben erfolgreich getestet. Du kannst einfach ein beliebiges Zusatzgewicht addieren (im Beispiel sind es 0.2 kg). Wichtig ist, dass dieses Gewicht immer in Kilogramm angegeben wird.

    Grü?e

    Thread Starter marvinm

    (@marvinm)

    Hey,

    das funktioniert nun, vielen Dank!

Viewing 7 replies - 1 through 7 (of 7 total)
  • The topic ‘DHL Standardgewicht’ is closed to new replies.