A la hora de crear una tienda virtual, la parte tal vez más sensible es el tema de la logística y los envíos de los productos.
Voy a explicar un ejemplo de cómo podríamos tener 3 tarificaciones: una de 20 dólares, otra por ejemplo de 6,91 dólares y, en caso que queramos que nuestro envío sera urgente, se añadirán 15 dólares más a cualquiera de las dos anteriores. En Drupal Commerce tenemos el módulo Drupal Shipping que trae un método de ejemplo de envío, el cuál es casi el que véis en la imagen (20$ el envío y 15$ extra si queremos que sea urgente).
Pues bién, si además queréis saber cómo añadir otra opción como la que he puesto de 6,91$, simplemente tenemos que crear un módulo a partir del modulo de ejemplo que trae Drupal Shipping.
Para ello copiamos commerce_shipping_example.module en nuestro módulo commerce_shipping_NUESTRA-TIENDA.module y vamos reemplazando el "example" por NUESTRA-TIENDA y modificando algunos parámetros como las cantidades.
La parte más importante, donde le he dicho 6,91 EUR es la siguiente:
/**
* Shipping service callback: returns a base price array for a shipping service
* calculated for the given order.
*/
function commerce_shipping_gaia_service_rate($shipping_service, $order) {
return array(
'amount' => 691,
'currency_code' => 'EUR',
'data' => array(),
);
}
De esta manera, en mi tienda www.tutmonde.org hice distintos precios de envíos: para la Península Ibérica, América, Europa y Asia.