Foros del Web » Creando para Internet » Sistemas de gestión de contenidos »

Gastos de envios gratis para mi ciudad y con coste para fuera de ella. TArifa Unica.

Estas en el tema de Gastos de envios gratis para mi ciudad y con coste para fuera de ella. TArifa Unica. en el foro de Sistemas de gestión de contenidos en Foros del Web. Hola compañeros. Tengo instalada en mi tienda oscommerce 2.2 LA TARIFA UNICA para tres zonas distintas. Baleares Peninsula Ceuta, melilla y canarias. Pues bien, quiero ...
  #1 (permalink)  
Antiguo 03/02/2011, 07:15
 
Fecha de Ingreso: mayo-2007
Mensajes: 18
Antigüedad: 16 años, 11 meses
Puntos: 0
Gastos de envios gratis para mi ciudad y con coste para fuera de ella. TArifa Unica.

Hola compañeros.
Tengo instalada en mi tienda oscommerce 2.2 LA TARIFA UNICA para tres zonas distintas.
Baleares
Peninsula
Ceuta, melilla y canarias.
Pues bien, quiero poner que los gastos de envios dentro de mi ciudad sean gratis.
Actualmente tengo 6 euros para toda la Peninsula.
Es decir. si compra alguien de Madrid (por ejemplo) se le cobran 6€ de gastos de envios y si compra de mi ciudad (me gustaría que los gastos fuesen gratis).

He intentado copiar el archivo flat y subirlo a include/modules/shipping con el nombre de flat4 (ya que tengo tres zonas con anterioridad), pero me doy cuenta de qeu cuando compro desde mi ciudad, me salen los precios sin IVA.

Sin embargo si compras desde otra ciudad distinta a mi ciudad los precios salen con iva y con el precio correcto de 6 euros.

En definitiva, quiero conseguir que cuando se compre en mi ciudad los gastos de envios sean a 0€.
¿alguna ayuda?
Gracias de antemano.
  #2 (permalink)  
Antiguo 03/02/2011, 07:22
Avatar de bUllan9ebrio  
Fecha de Ingreso: enero-2011
Ubicación: Chile
Mensajes: 1.128
Antigüedad: 13 años, 2 meses
Puntos: 128
Respuesta: Gastos de envios gratis para mi ciudad y con coste para fuera de ella. TAr

???? con un poco de codigo , creo que es lo mas razonable de analizar, sino estamos mal... coloca algo de codigo para ver donde lo puedes modificar. saludos.
  #3 (permalink)  
Antiguo 03/02/2011, 09:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP a Aplicaciones prefabricadas
  #4 (permalink)  
Antiguo 03/02/2011, 11:29
 
Fecha de Ingreso: mayo-2007
Mensajes: 18
Antigüedad: 16 años, 11 meses
Puntos: 0
Respuesta: Gastos de envios gratis para mi ciudad y con coste para fuera de ella. TAr

Os pongo el código de Flat4.php

<?php
/*
$Id: flat.php 1749 2007-12-20 00:52:16Z hpdl $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2004 osCommerce

Released under the GNU General Public License
*/

class flat4 {
var $code, $title, $description, $icon, $enabled;

// class constructor
function flat4() {
global $order;

$this->code = 'flat4';
$this->title = MODULE_SHIPPING_FLAT_TEXT_TITLE_4;
$this->description = MODULE_SHIPPING_FLAT_TEXT_DESCRIPTION_4;
$this->sort_order = MODULE_SHIPPING_FLAT_SORT_ORDER_4;
$this->icon = '';
$this->tax_class = MODULE_SHIPPING_FLAT_TAX_CLASS_4;
$this->enabled = ((MODULE_SHIPPING_FLAT_STATUS_4 == 'True') ? true : false);

if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_FLAT_ZONE_4 > 0) ) {
$check_flag = false;
$check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_FLAT_ZONE_4 . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");
while ($check = tep_db_fetch_array($check_query)) {
if ($check['zone_id'] < 1) {
$check_flag = true;
break;
} elseif ($check['zone_id'] == $order->delivery['zone_id']) {
$check_flag = true;
break;
}
}

if ($check_flag == false) {
$this->enabled = false;
}
}
}

// class methods
function quote($method = '') {
global $order;

$this->quotes = array('id' => $this->code,
'module' => MODULE_SHIPPING_FLAT_TEXT_TITLE,
'methods' => array(array('id' => $this->code,
'title' => MODULE_SHIPPING_FLAT_TEXT_WAY,
'cost' => MODULE_SHIPPING_FLAT_COST_4)));

if ($this->tax_class > 0) {
$this->quotes['tax'] = tep_get_tax_rate($this->tax_class, $order->delivery['country']['id'], $order->delivery['zone_id']);
}

if (tep_not_null($this->icon)) $this->quotes['icon'] = tep_image($this->icon, $this->title);

return $this->quotes;
}

function check() {
if (!isset($this->_check)) {
$check_query = tep_db_query("select configuration_value from " . TABLE_CONFIGURATION . " where configuration_key = 'MODULE_SHIPPING_FLAT_STATUS_4'");
$this->_check = tep_db_num_rows($check_query);
}
return $this->_check;
}

function install() {
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added) values ('Enable Flat Shipping', 'MODULE_SHIPPING_FLAT_STATUS_4', 'True', 'Do you want to offer flat rate shipping?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Shipping Cost', 'MODULE_SHIPPING_FLAT_COST_4', '5.00', 'The shipping cost for all orders using this shipping method.', '6', '0', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Tax Class', 'MODULE_SHIPPING_FLAT_TAX_CLASS_4', '0', 'Use the following tax class on the shipping fee.', '6', '0', 'tep_get_tax_class_title', 'tep_cfg_pull_down_tax_classes(', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added) values ('Shipping Zone', 'MODULE_SHIPPING_FLAT_ZONE_4', '0', 'If a zone is selected, only enable this shipping method for that zone.', '6', '0', 'tep_get_zone_class_title', 'tep_cfg_pull_down_zone_classes(', now())");
tep_db_query("insert into " . TABLE_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) values ('Sort Order', 'MODULE_SHIPPING_FLAT_SORT_ORDER_4', '0', 'Sort order of display.', '6', '0', now())");
}

function remove() {
tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')");
}

function keys() {
return array('MODULE_SHIPPING_FLAT_STATUS_4', 'MODULE_SHIPPING_FLAT_COST_4', 'MODULE_SHIPPING_FLAT_TAX_CLASS_4', 'MODULE_SHIPPING_FLAT_ZONE_4', 'MODULE_SHIPPING_FLAT_SORT_ORDER_4');
}
}
?>




La verdad es que no se donde está el problema.
Los otros archivos flat.php son iguales pero retocados con flat1.php para una zona
flat2.php para otra zona
flat3.php para otra zona.

Etiquetas: ciudad, coste, envios, fuera, gastos, unica, gratuito
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 13:16.