raul.chuky Posted December 6, 2010 Share Posted December 6, 2010 Hola gente del foro,Mi consulta es la siguiente, estoy queriendo obtener el id_customer del cliente logueado, les explico el porque.Porque estoy validando el costo de envio para cada producto agregado al carrito, voy a ser mas claro. Registrandose el cliente con un ciudad "X" el costo de envio tiene que ser 0, y para las demas ciudades diferentes de "X" aplicar el costo de envio definido para el producto agregado al carrito.Para agregar el costo de envio por producto me guie en el siguiente tutorial Shipping cost per itemEn la siguiente funcion introducida del tutorial function getTotalShipping() { if (!$this->id) return 0; $products = $this->getProducts(); $order_total = 0; $maximum = 0; foreach ($products AS $product) { $maximum += $product['shipping_peritem']; } return $maximum; } Le agregue las siguientes lineas function getTotalShipping() { if (!$this->id) return 0; $products = $this->getProducts(); $bd_ciudad = $this->getCity(); $order_total = 0; $city = 'Asuncion'; $maximum = 0; foreach ($products AS $product) { if (strtolower(trim($bd_ciudad)) != strtolower(trim($city))) { //$order_total = $order_total + $product['shipping_peritem']; //('1.1' * intval($product['quantity'])); if ($product['shipping_peritem'] > $maximum) { $maximun += $product['shipping_peritem']; } } else { $maximun += floatval(Tools::ps_round(floatval($shipping_cost), 2)); } } return $maximun; } Para obtener el valor de $bd_ciudad le agregue la siguiente funcion public function getCity() { $sql = "SELECT `city` FROM `address` a JOIN `customer` c ON c.`id_customer` = a.`id_customer` WHERE a.`id_customer` = 'Aqui deberia ir el id_customer del cliente logueado' "; $result = Db::getInstance()->getRow($sql); return $result['city']; } Introduciendo manualmente el id_customer en el query funciona todo mi codigoSi alguien sabe como obtener el id_customer del cliente logueado por favor que me ayude Link to comment Share on other sites More sharing options...
raul.chuky Posted December 6, 2010 Author Share Posted December 6, 2010 Ya lo solucione, muchas gracias de todas formasPosteo la solucion por si le sea util a alguienEn la funcion de getCity que habia añadido public function getCity() { $sql = "SELECT `city` FROM `address` a JOIN `customer` c ON c.`id_customer` = a.`id_customer` WHERE a.`id_customer` = 'Aqui deberia ir el id_customer del cliente logueado' "; $result = Db::getInstance()->getRow($sql); return $result['city']; } Le agregue y modifique al codigo public function getCity() { $customer = $this->id_customer; $sql = "SELECT `city` FROM `address` a JOIN `customer` c ON c.`id_customer` = a.`id_customer` WHERE a.`id_customer` = $customer "; $result = Db::getInstance()->getRow($sql); return $result['city']; } Link to comment Share on other sites More sharing options...
Recommended Posts