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 |
---|---|
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
Tusen takk!