Artikler om: Avansert
Denne artikkelen er også tilgjengelig på:

Tilpasset utleveringsvelger

For versjoner over 7.6.0 (lansert 14 November 2024)



Utleveringsvelgeren fungerer nå i både handlekurven og kassen, og kundens valg blir naturligvis husket.

Den støtter PostNord og Instabox.

PorterbuddyInstabox
Porterbuddy Woocommerce WildrobotInstabox woocommerce Wildrobot


Den vises litt bedre i ordredetaljer.



cart-shipping.php template



Det har blitt noe endringer i cart-shipping.php template. Som regel vil dette bare fungere, men noen temaer trenger man å oppdatere denne templaten. Da er det som regel nok å bare legge dette til nederst.

<?php if (get_option("wildrobot_logistra_pickuppoint_checkout_inline") === "yes") : ?>

    <?php $service_partner_object = apply_filters("logistra_robots_service_partner_select", null, $args) ?>

    <?php if ($service_partner_object && $service_partner_object->service_partner_possible) : ?>

        <tr class="woocommerce-wildrobot-pickuppoint-checkout-inline">

            <th><?php echo ('Utleveringssted', 'logistra-robots'); ?></th>

            <td>

                <?php

                $value = !empty(WC()->session->get('wildrobot_logistra_service_partner_number')) ? WC()->session->get('wildrobot_logistra_service_partner_number') . "@@@" . WC()->session->get('wildrobot_logistra_service_partner_customer_number') : null;

                woocommerce_form_field("logistra_robots_select_servicepartner", [

                    'type'          => 'select',

                    'class'         => array('logistra_robots_select_servicepartner form-row-wide'),

                    'required'    => false,

                    'options' => $service_partner_object->service_partner_select_values,

                    'default' => $value,

                    'customAttributes' => [

                        'style' => 'font-weight: bold;'

                    ]

                ]);

                ?>

            </td>

        </tr>

            jQuery(document).ready(function($) {

                $('.logistra_robots_select_servicepartner').on('change', function() {

                    const selectedOption = $(this).find('option:selected');

                    const servicePartners = <?php echo json_encode($service_partner_object->service_partners); ?>;

                    const servicePartner = servicePartners.find(sp => selectedOption.val() === sp.number + "@@@" + (typeof sp["customer-number"] === 'string' ? sp["customer-number"] : ""));

                    if (!servicePartner || !servicePartner.number || !servicePartner["customer-number"]) {

                        return;

                    }

                    $.ajax({

                        url: '<?php echo admin_url('admin-ajax.php'); ?>',

                        type: 'POST',

                        data: {

                            action: 'logistra_save_service_partner',

                            service_partner_number: servicePartner.number,

                            service_partner_customer_number: servicePartner["customer-number"],

                            service_partner_name: servicePartner.name,

                            service_partner_postcode: servicePartner.postcode,

                            service_partner_city: servicePartner.city,

                            service_partner_country: servicePartner.country,

                            nonce: '<?php echo wp_create_nonce('wildrobot_logistra_select_servicepartner'); ?>'

                        },

                        success: function(response) {

                            if (response.success) {

                                if (typeof wc_checkout_params !== 'undefined') {

                                    $(document.body).trigger('update_checkout');

                                }

                            } else {

                                console.log("Error saving service partner");

                            }

                        }

                    });

                });

            });

        </script>

    <?php endif; ?>

<?php endif; ?>


Avansert



Utleveringsvelgeren bruker et spesifikt format for å identifisere utleveringssteder. Formatet består av utleveringsstedet "number" etterfulgt av "customer-number", separert av "@@@". Dette sikrer en unik og nøyaktig identifikasjon av hvert utleveringssted.

For versjoner under 7.6.0



De fleste nettbutikker ønsker full kontroll over hvordan kunder kan velge utleveringssted i utsjekk.



Mange temaer som for eksempel Flatsom har egne templates for å definere visning av utsjekk (handlekurv og kasse).

Templates fra tema overstyrer templates ifra Wildrobot Logistra integrasjon plugin.

Så vil den overstyre og utleveringssted velgeren vises ikke. For å vise velgeren kan du legge til denne kode-snutten i din woocommerce/cart/cart-shipping.php template fil_._

<?php if (is_checkout() && get_option("wildrobot_logistra_pickuppoint_checkout_inline") === "yes") : ?>
<?php $service_partner_object = apply_filters("logistra_robots_service_partner_select", null, $args) ?>
<?php if ($service_partner_object && $service_partner_object->service_partner_possible) : ?>
<tr class="woocommerce-wildrobot-pickuppoint-checkout-inline">
<th><?php echo __('Utleveringssted', 'logistra-robots'); ?></th>
<td>
<?php
woocommerce_form_field("logistra_robots_select_servicepartner", [
'type' => 'select',
'class' => array('logistra_robots_select_servicepartner form-row-wide'),
'required' => false,
'options' => $service_partner_object->service_partner_select_values,
'customAttributes' => [
'style' => 'font-weight: bold;'
 ]
 ]);
?>
</td>
</tr>
<?php endif; ?>
<?php endif; ?>


Dersom du bruker Flatsome tema kan du bruke denne filen. (fjern "-flatsome" fra filnavnet så den bare heter cart-shipping.php . Brukt fil fra Flatsome versjon 3.15.3).

Så skal den vises med en gang du skrur den på i innstillinger og har en leveranse med utleveringssted. Om du ønsker å gjøre endringer i hvordan den ser kan du kopiere denne filen inn i ditt eget tema og endre den etter ønske. Du må da sannsynligvis lage mappene /woocommerce og /cart hvor du så legger filen.

Vedleggsikon

cart-shipping-flatsome.php

Vedleggsikon

cart-shipping.php

Oppdatert på: 14/11/2024

Var denne artikkelen nyttig?

Del tilbakemeldingen din

Avbryt

Tusen takk!