kazoomaloo Posted September 8, 2005 Posted September 8, 2005 I am looking to make a contribution for shipping using per item costs from a table in mysql then first thing i am looking for is where and how i find the variables to total up shipping from this said table plus what includes would i need. Quote
kazoomaloo Posted September 8, 2005 Author Posted September 8, 2005 ok here is what I have for code : class shipping_total { var $categories_id, $band0, $band1, $band2, $band3, $band4, $band5, $shippingTotal; //class constructor function ShipTotal() { global $order; $this->code = 'shipping total'; $this->title = MODULE_SHIPPING_TOTAL_TEXT_TITLE; $this->description = MODULE_SHIPPING_TOTAL_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_TOTSL_SORT_ORDER; $this->icon = ''; $this->enabled = ((MODULE_SHIPPING_TOTSL_STATUS == 'True') ? true : false); $this->shippingTotal = array(); if (tep_not_null($order_id)) { $this->query($order_id); } else { $this->cart(); } } function tCosts($order_id) { $orders_products_query = tep_db_query("select orders_products_id, products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "'"); while ($orders_products = tep_db_fetch_array($orders_products_query)) { $this->products[$index] = array('qty' => $orders_products['products_quantity'], 'id' => $orders_products['products_id'], 'name' => $orders_products['products_name'], 'model' => $orders_products['products_model'], 'tax' => $orders_products['products_tax'], 'price' => $orders_products['products_price'], 'final_price' => $orders_products['final_price']); } $shippingTotal_query = tep_db_query("select s.categories_id, band_0, band_1, band_2, band_3, band_4, band_5' . ' from products_to_categories p, orders_products o, shipping_matrix s' . ' where p.products_id = id' . ' and s.categories_id = p.categories_id'"); $shippingTotal = tep_db_fetch_array($shippingTotal_query); $this->shippingTotal = array('category' => $shippingTotal['category_id'], 'band0' => $shippingTotal['band_0'], 'band1' => $shippingTotal['band_1'], 'band2' => $shippingTotal['band_2'], 'band3' => $shippingTotal['band_3'], 'band4' => $shippingTotal['band_4'], 'band5' => $shippingTotal['band_5']); if (qty = 1) { if (band0 = 0) { ts = 0; }else{ ts = band0; } }else{ x = qty; while(x < 6){ if (band(x) = 0) { echo('please call for shipping'); }else{ ts = ts + band(x); } x = x + 1; } } } 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_TABLE_STATUS'"); $this->_check = tep_db_num_rows($check_query); } return $this->_check; } function remove() { tep_db_query("delete from " . TABLE_CONFIGURATION . " where configuration_key in ('" . implode("', '", $this->keys()) . "')"); } function keys() { return array('MODULE_SHIPPING_TABLE_STATUS', 'MODULE_SHIPPING_TABLE_COST', 'MODULE_SHIPPING_TABLE_MODE', 'MODULE_SHIPPING_TABLE_HANDLING', 'MODULE_SHIPPING_TABLE_TAX_CLASS', 'MODULE_SHIPPING_TABLE_ZONE', 'MODULE_SHIPPING_TABLE_SORT_ORDER'); } } ?> where should i go next, if i put it in the modules folder the shipping options disappear I know i don't have a completely working mod but if you guys could help I would appreciate it. Quote
kazoomaloo Posted September 9, 2005 Author Posted September 9, 2005 Ok, here is the new version class band { var $code, $title, $description, $icon, $enabled; // class constructor function band() { global $order; $this->code = 'band'; $this->title = MODULE_SHIPPING_BAND_TEXT_TITLE; $this->description = MODULE_SHIPPING_BAND_TEXT_DESCRIPTION; $this->sort_order = MODULE_SHIPPING_BAND_SORT_ORDER; $this->icon = ''; $this->enabled = ((MODULE_SHIPPING_BAND_STATUS == 'True') ? true : false); } // class methods function quote($method = '') { global $order; $this->quotes = array('id' => $this->code, 'module' => MODULE_SHIPPING_BAND_TEXT_TITLE, 'methods' => array(array('id' => $this->code, 'title' => MODULE_SHIPPING_BAND_TEXT_WAY, 'cost' => MODULE_SHIPPING_BAND_COST))); $shipping_total = 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_BAND_STATUS'"); $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 Band Shipping', 'MODULE_SHIPPING_BAND_STATUS', 'True', 'Do you want to offer band 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 ('Sort Order', 'MODULE_SHIPPING_BAND_SORT_ORDER', '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_BAND_STATUS', 'MODULE_SHIPPING_BAND_SORT_ORDER' ); } } ?> What I need to do is each item has a category, with each category is 5 bands with a shipping price behind it. How can I access the database and table(shipping_matrix) and then compare the product_id, to find the category_id and then depending on the quantity go to a band and get the shipping price? if someone could help i would appriecated greatly. Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.