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.


Porterbuddy

Instabox

Porterbuddy Woocommerce Wildrobot

Instabox 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!