• Resolved vbotto

    (@vbotto)


    Dobry den,

    potreboval by som do superfaktury posielat ID pobocky a hmotnost zasielky. Superfaktura ma zda sa k tomuto ucelu pripravene 2 vlastnosti objednavky ktore si nacitava, konkretne “zasilkovna_id_pobocky” a “zasilkovna_custom_weight”.

    Viete mi poradit, ako (idealne) cez functions.php dostanem do tychto vlastnosti objednavky konkretne hodnoty?

    Dakujem

Viewing 5 replies - 1 through 5 (of 5 total)
  • Plugin Support kovalmatyas

    (@kovalmatyas)

    Dobry den @vbotto,
    děkuji za Vá? dotaz a omlouvám se za pozdní reakci.

    Plugin Superfaktura není p?ímo ná?, ale jedná se o plugin t?etí strany, tak?e budeme z na?í strany muset prozkoumat (a prokonzultovat s kolegy z vyvoje pluginu) zda toto lze provést a jak.

    Hned jakmile budu mít nějaké dal?í informace, dám Vám vědět.

    S pozdravem,
    Matyá? Kova? – Packeta E-Commerce Support

    Zdravim vas @kovalmatyas, bylo by prosim mozne pridat ID pobocky zasilkovny do prichoziho emailu po objednavce? Napr. u detailu vydejniho mista by na tuto polozku bylo misto. Aktualne se v emailu zobrazuje:
    Nazev vydejniho mista
    Detail vydejniho mista
    Adresa vydejniho mista
    Dekuji!

    Plugin Support kovalmatyas

    (@kovalmatyas)

    Dobry den @ritchiemad,
    vidím, ?e jste zalo?il s va?ím dotazem i vlastní vlákno – odpově? na tuto otázku je p?ímo v něm.

    S pozdravem,
    Matyá? Kova? – Packeta E-Commerce Support

    Plugin Support kovalmatyas

    (@kovalmatyas)

    Dobry den @vbotto,
    co se ty?e získávání těchto údaj?, tak ID vybraného vydejního místa lze v rámci filtr? vytáhnout z na?í databáze.

    Bohu?el nemám s pluginem Superfaktúry zku?enosti a ani s jejími parametry a hooky, nicméně funkce pro získání ID zvoleného VM m??e vypadat nap?íklad takto:

    function getOrderPointId(WC_Order $order) {
        global $wpdb;
    
        $orderId = $order->get_id();
        $table = $wpdb->prefix . 'packetery_order';
        $packeteryOrder = $wpdb->get_row(
            $wpdb->prepare(
                "SELECT * FROM $table WHERE id = %d", $orderId
            )
        );
    
        if ($packeteryOrder && $packeteryOrder->point_id) {
            $packeteryOrder->point_id;
        }
    }

    Kde packeteryOrder->point_id je právě údaj, ktery pot?ebujete.

    Co se hmotnosti objednávky ty?e, tak to bude slo?itěj?í. Hmotnost objednávky se toti? neukládá p?ímo do DB tabulek WooCommerce ani na?ich, ale dynamicky se po?ítá z produkt? v objednávce a hmotnosti obalového materiálu nastavené v rámci pluginu, pokud ov?em nebyla ru?ně upravena.

    V p?ípadě, ?e do?lo k ru?ní úpravě hmotnosti tak se ulo?í do stejné DB tabulky jako v kódu vy?e do sloupce “weight”.

    Pokud tedy hmotnost pot?ebujete, tak postup by byl nejd?íve zkontrolovat, zda nebyla ru?ně upravena (tedy zda není v na?í DB tabulce nenulová hodnota) a pokud nebyla, tak ji spo?íst po vzoru WooCommerce samotného.

    S pozdravem,
    Matyá? Kova? – Packeta E-Commerce Support

    Thread Starter vbotto

    (@vbotto)

    Ano, dakujem, hodnotu PointId som si vybral z databazy tak ako pisete, na spocitanie hmotnosti som pouzil funkciu:

    function my_get_total_order_weight( $order_id ) {
    	$order        = wc_get_order( $order_id );
    	$order_items  = $order->get_items();
    	$total_qty    = 0;
        $total_weight = 0; 
        
    	foreach ( $order_items as $item_id => $product_item ) {
    		$product         = $product_item->get_product();
    		if ( ! $product ) continue;
            $product_weight  = $product->get_weight();        
    		    $quantity        = $product_item->get_quantity();
            $total_qty      += $quantity;
            if ($product_weight) {
              $total_weight   += floatval( $product_weight * $quantity );
    	      }
      }
    	return $total_weight;
    }

    A tieto dve hodnoty som nasledne priradil k vlasnostiam objednavky:

    update_post_meta( $order->get_id(), 'zasilkovna_id_pobocky', $zasilkovna_id_pobocky );
    update_post_meta( $order->get_id(), 'zasilkovna_custom_weight', $zasilkovna_custom_weight );

    A vsetko funguje tak ako som potreboval, superfaktura si to z tychto vlastnosti objednavky automaticky zoberie.

    Dakujem.

Viewing 5 replies - 1 through 5 (of 5 total)
  • The topic ‘ID pobocky a hmotnost do superfaktury’ is closed to new replies.