Jump to content
blucollarguy

Multi_Vendor_Shipping new thread

Recommended Posts

Is there an ETA for a new release? Or alternately, is it possible to get a copy of the source code with the fixes from this forum applied?

 

-nick

Share this post


Link to post
Share on other sites
My mistake, the original code was on line 47 and is this
           '            <td class="dataTableContent" valign="center" align="left">' . $order->products[$l]['orders_products'][$i]['name'];

 

Sean Hawkes

Thanks Sean,

 

I've upgraded my RMA Returns contrib to 2.5c and added your code. I get the same results as you. The return_product page loads and has all the customer data but not the item being returned. If I click on the Schedule Return link and then add the product ID on the url, it works, so return_product just isn't picking it up. I'll keep looking at it, but I think Jim's looking in the right place so he'll probably find it long before I do.

 

Rick Knight

Share this post


Link to post
Share on other sites
Thanks Sean,

 

I've upgraded my RMA Returns contrib to 2.5c and added your code. I get the same results as you. The return_product page loads and has all the customer data but not the item being returned. If I click on the Schedule Return link and then add the product ID on the url, it works, so return_product just isn't picking it up. I'll keep looking at it, but I think Jim's looking in the right place so he'll probably find it long before I do.

 

Rick Knight

I got it working just now. You need to edit admin/includes/classes/vendor_order_data.php in 2 places first find

$orders_products_query = tep_db_query("select orders_products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price, vendors_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "' and vendors_id = '" . (int)$vendor_order['vendors_id'] . "'");

and change it to this

$orders_products_query = tep_db_query("select orders_products_id, products_name, products_model, products_price, products_tax, products_quantity, final_price, vendors_id, products_returned, products_id from " . TABLE_ORDERS_PRODUCTS . " where orders_id = '" . (int)$order_id . "' and vendors_id = '" . (int)$vendor_order['vendors_id'] . "'");

 

Then find

'name' => $orders_products['products_name'],

and add this after it

'id' => $orders_products['products_id'],
'return' => $orders_products['products_returned'],

 

Sean Hawkes

Share this post


Link to post
Share on other sites

Greetings,

 

Just installed the mod and it is working fairly well. With a couple of kinks:

 

1. I don't seem to be able to add a handling charge to either the UPS or USPS modules from the vendor admin. It appears in the vendor admin, and in the DB tables, (so it is being inserted), but is not calculating in the rates on shipping page of the store.

 

2. There seems to be a bit of a descrepency between the rates that the store displays, the rates my vendor is charging, and the rates using the same criteria from the UPS website. I understand that my vendor gets a reduced rate for volume, but shouldn't what I'm passing to the UPS site be more in line with thier numbers? (using the same zip codes, weight, method of drop, etc.

 

I'm sending back an email to myself with the data passed to the UPS site, and it is usign the proper zips.

 

The USPS price is 3.50 under what my vendor is charging..so I'm not sure I can trust those calcs at all.

 

Any suggestions?

 

Thanks in advance.

Share this post


Link to post
Share on other sites

Check that you have MVS turned on in Admin > Configuration > Use vendor shipping? (Set to True.)

 

Some modules will accept the handling charge set in the vendor admin, and some have to be set in the module itself. osCommerce shipping modules are not very consistent in how they handle settings.

 

If your client gets a special rate (volume discount), you will probably need to use the UPS XML module to match his rates exactly. You should match the UPS website if you have the same settings -- the data is coming from the same place.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Anyone have a way to use the vendor shipping table rates so that it uses the total for ALL vendors and products to base the shipping price on ???

 

If I have 3 products on an order from 3 different vendors, I want to add the prices of ALL 3 products and then use that total for the table rate shipping -- instead of a seperate charge for EACH vendor/item.

 

Or can I enable the standard shipping module table rate in addition to any defined vendor shipping methods ???

 

Thanks for the replies.

 

Jeff.

Share this post


Link to post
Share on other sites

I just ran into a possible problem with using the vendor auto email feature, I don't know if it is a MVS problem or a PayPal problem. I use PayPal for credit card payments, and I found that if the customer enters an unconfirmed address when they open a account at my website the payment will go through at PayPal's site if they have a confirmed address on file at PayPal. The problem is when the vendor email is sent the address is the unconfirmed address.

 

Other than verifing each order and editing the ones with unconfirmed addresses in their account I don't know what else I can do.

 

Is this a paypal IPN issue? or is there a way for MVS to verify that the addresses match?

 

Thanks

Sean Hawkes

Share this post


Link to post
Share on other sites

I just found another PayPal related problem. If I run a test order using PayPal, even with products from multiple vendors, I get the standard orders screen in admin and customers account history. No breakdown by vendor. If I use a different payment method such as check/money order MVS works fine.

 

Thanks

Sean Hawkes

Share this post


Link to post
Share on other sites

HI Guys, just installed this on a heavily modded store and it seems to work well. I also appear to have it working with indv product pricing and first item + shipping.

 

However my problem seems to come from useing different shipping zones.

 

98% of the products are shipped the same way, so I only needed the MVS for 2 products.

 

When MVS is switched off, when a customer gets to the shipping page, if they are from the UK, it shows UK shipping, if they are from anywhere else it shows the rest of the world shipping option.

 

however with MVS switched on, if the user is from the UK or from anywhere else it shows BOTH shipping methods.

 

Is this a bug, or something with my setup possibly, and if its my setup where can I look for the code to tweak??

 

thnx in anticipation


Feel free to ask me for help

beep... beep....My Pager

Share this post


Link to post
Share on other sites

What shipping modules are you using for each "vendor", and what are your zone settings on each module?

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

HI Jim,

I had a play around on a hunch and I think its a problem I have created. It only happens when im using mods I have modified :( So somewhere along the lines i have not modified the shipping modules correctly which is strange as they are quite basic.

 

Which part of hte module should i pay particular attention to for if it shows or not.

 

Both modules work well if MVS is off, so its something wrong with my modifications but im stumped at which bit!


Feel free to ask me for help

beep... beep....My Pager

Share this post


Link to post
Share on other sites

Does anyone have MVS working with PayPal IPN 3.15?

 

When I place a test order using Check/Money Order payment MVS works and when viewing the order page it looks like thissnapshot.jpg

 

When using PayPal IPN 3.15 MVS seems to be bypassed and looks like thissnapshot1.jpg

 

I have tried comparing changes for MVS and PayPal IPN but can't figure out how to fix this.

 

Thank you

Sean Hawkes

Share this post


Link to post
Share on other sites

Paul -

 

MVS uses a modified set of modules located in includes/modules/vendor_shipping/. The standard modules in includes/modules/shipping/ are ignored because they would cause conflicts. Any modifications that you have made to the standard modules would have no effect on MVS.

 

It could be that you just do not have the zones set properly on the MVS modules, or you need to make some changes to the MVS modules. It sounds like the problem is in the Zones code in the modules. This is quite different in the MVS modified modules, since the module could be enabled for more than one vendor, and with different settings for each vendor.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Hi Jim,

Yes I understand how it works. We are using 2 non standard shipping modules. I have them in the vendors_shipping folder, and I tried to modify them using the instructions in the zip file. But it didnt seem to work.

 

I did a code compare on my shipping module and the table module to see what was different, the code I change makes it either not show up at all, or it shows up regardless of where the user is based.

 

I will keep playing.

rgds

Paul


Feel free to ask me for help

beep... beep....My Pager

Share this post


Link to post
Share on other sites

Here are the two files, I have modified them according to the modules.txt file but I must have missed something can anyone see what that might be?

 

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

// class constructor
   function firstitemplus() {
     global $order, $vendors_id;

     $this->code = 'firstitemplus';
     $this->title = MODULE_SHIPPING_FIRSTITEMPLUS_TEXT_TITLE;
     $this->description = MODULE_SHIPPING_FIRSTITEMPLUS_TEXT_DESCRIPTION;
     //$this->sort_order = MODULE_SHIPPING_FIRSTITEMPLUS_SORT_ORDER;
     $this->icon = '';
     //$this->enabled = ((MODULE_SHIPPING_FIRSTITEMPLUS_STATUS == 'True') ? true : false);

    /* if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_FIRSTITEMPLUS_ZONE > 0) ) {
       $check_flag = false;
       $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_FIRSTITEMPLUS_ZONE . "' 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;
       }
     }*/
   }

function sort_order($vendors_id='1') {
     if (defined (@constant ('MODULE_SHIPPING_FIRSTITEMPLUS_SORT_ORDER_' . $vendors_id))) {
       $this->sort_order = @constant('MODULE_SHIPPING_FIRSTITEMPLUS_SORT_ORDER_' . $vendors_id);
     } else {
       $this->sort_order = '0';
     }
     return $this->sort_order;
   }

               function tax_class($vendors_id='1') {
     $this->tax_class = constant('MODULE_SHIPPING_FIRSTITEMPLUS_TAX_CLASS_' . $vendors_id);
                       return $this->tax_class;
   }

   function enabled($vendors_id='1') {
     $this->enabled = false;
     $status = @constant('MODULE_SHIPPING_FIRSTITEMPLUS_STATUS_' . $vendors_id);
	 if (isset ($status) && $status != '') {
       $this->enabled = (($status == 'True') ? true : false);
     }
     return $this->enabled;
   }
 
   function zones($vendors_id='1') {
     if ( ($this->enabled == true) && ((int)constant('MODULE_SHIPPING_FIRSTITEMPLUS_ZONE_' . $vendors_id) > 0) ) {
       $check_flag = false;
       $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_FIRSTITEMPLUS_ZONE . "' and zone_country_id = '" . $this->delivery_zone_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'] == $this->delivery_zone_id) {
           $check_flag = true;
           break;
         } //if
       }//while

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

// class methods
   function quote($method = '', $module = '', $vendors_id = '1') {
     global $cart, $shipping_weight, $shipping_num_boxes;

     $order_total = $cart->count_content2();

     $table_cost_first = constant(MODULE_SHIPPING_FIRSTITEMPLUS_FIRST_ . $vendors_id);
     $table_cost_additional = constant(MODULE_SHIPPING_FIRSTITEMPLUS_ADDITIONAL_ . $vendors_id);
                       
                 $shipping = ($order_total < 21) ?  $table_cost_first : ($table_cost_first + (($order_total - 20) * $table_cost_additional));
     $vendors_data_query = tep_db_query("select handling_charge, 
                                                handling_per_box,
      vendor_country 
                                         from " . TABLE_VENDORS . " 
                                         where vendors_id = '" . (int)$vendors_id . "'"
                                       );
     $vendors_data = tep_db_fetch_array($vendors_data_query);
     $country_name = tep_get_countries($vendors_data['vendor_country'], true);  

     $handling_charge = $vendors_data['handling_charge'];
     $handling_per_box = $vendors_data['handling_per_box'];
     if ($handling_charge > $handling_per_box*$shipping_num_boxes) {
       $handling = $handling_charge;
     } else {
       $handling = $handling_per_box*$shipping_num_boxes;
     }

     $this->quotes = array('id' => $this->code,
                           'module' => MODULE_SHIPPING_FIRSTITEMPLUS_TEXT_TITLE,
                           'methods' => array(array('id' => $this->code,
                                                    'title' => sprintf(MODULE_SHIPPING_FIRSTITEMPLUS_TEXT_WAY,$table_cost_first,$table_cost_additional),
                                                    'cost' => $shipping + $handling)));

     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($vendors_id='1') {
     if (!isset($this->_check)) {
 $check_query = tep_db_query("select configuration_value from " . TABLE_VENDOR_CONFIGURATION . " where vendors_id = '". $vendors_id ."' and configuration_key = 'MODULE_SHIPPING_FIRSTITEMPLUS_STATUS_" . $vendors_id . "'");
       $this->_check = tep_db_num_rows($check_query);
     }
     return $this->_check;
   }

   function install($vendors_id='1') {
     tep_db_query("insert into " . TABLE_VENDOR_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added, vendors_id) VALUES ('Enable First Item Plus Additional Method', 'MODULE_SHIPPING_FIRSTITEMPLUS_STATUS_" . $vendors_id . "', 'True', 'Do you want to offer \"First 20 items $X, additional items $X\" shipping?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now(), '" . $vendors_id . "')");
     tep_db_query("insert into " . TABLE_VENDOR_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added, vendors_id) values ('Shipping Cost for First 20 Items', 'MODULE_SHIPPING_FIRSTITEMPLUS_FIRST_" . $vendors_id . "', '6.00', 'The shipping cost is calculated using a cost for the the first 20 items, then another cost for each additional item. Enter the cost of the first 15 items (without dollar sign):', '6', '0', now(), '" . $vendors_id . "')");
     tep_db_query("insert into " . TABLE_VENDOR_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added, vendors_id) values ('Shipping Cost for Additional Items', 'MODULE_SHIPPING_FIRSTITEMPLUS_ADDITIONAL_" . $vendors_id . "', '1.00', 'Cost per additional item (without dollar sign):', '6', '0', now(), '" . $vendors_id . "')");
     tep_db_query("insert into " . TABLE_VENDOR_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added, vendors_id) values ('Handling Fee', 'MODULE_SHIPPING_FIRSTITEMPLUS_HANDLING_" . $vendors_id . "', '0', 'Additional handling fee for this shipping method.', '6', '0', now(), '" . $vendors_id . "')");
     tep_db_query("insert into " . TABLE_VENDOR_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added, vendors_id) values ('Shipping Zone', 'MODULE_SHIPPING_FIRSTITEMPLUS_ZONE_" . $vendors_id . "', '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(), '" . $vendors_id . "')");
     tep_db_query("insert into " . TABLE_VENDOR_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added, vendors_id) values ('Sort order of display.', 'MODULE_SHIPPING_FIRSTITEMPLUS_SORT_ORDER_" . $vendors_id . "', '0', 'Sort order of display. Lowest is displayed first.', '6', '0', now(), '" . $vendors_id . "')");
   }

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

   function keys($vendors_id) {
     return array('MODULE_SHIPPING_FIRSTITEMPLUS_STATUS_' . $vendors_id, 'MODULE_SHIPPING_FIRSTITEMPLUS_FIRST_' . $vendors_id, 'MODULE_SHIPPING_FIRSTITEMPLUS_ADDITIONAL_' . $vendors_id, 'MODULE_SHIPPING_FIRSTITEMPLUS_HANDLING_' . $vendors_id, 'MODULE_SHIPPING_FIRSTITEMPLUS_ZONE_' . $vendors_id, 'MODULE_SHIPPING_FIRSTITEMPLUS_SORT_ORDER_' . $vendors_id);
   }
 }

 

and the second one

/*
 quoteshipping.php
 copyright 2004-2005 Sanke Solutions
*/

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

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

     $this->code = 'quoteshipping';
     $this->title = MODULE_SHIPPING_REQUEST_TEXT_TITLE;
     $this->description = MODULE_SHIPPING_REQUEST_TEXT_DESCRIPTION;
    // $this->sort_order = MODULE_SHIPPING_REQUEST_SORT_ORDER;
     $this->icon = '';
    // $this->tax_class = MODULE_SHIPPING_REQUEST_TAX_CLASS;
    // $this->enabled = ((MODULE_SHIPPING_REQUEST_STATUS == 'True') ? true : false);

   /*  if ( ($this->enabled == true) && ((int)MODULE_SHIPPING_REQUEST_ZONE > 0) ) {
       $check_flag = false;
       $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_REQUEST_ZONE . "' 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;
       }
     }*/
   }

   function sort_order($vendors_id='1') {
     if (defined (@constant ('MODULE_SHIPPING_REQUEST_SORT_ORDER_' . $vendors_id))) {
       $this->sort_order = @constant('MODULE_SHIPPING_REQUEST_SORT_ORDER_' . $vendors_id);
     } else {
       $this->sort_order = '0';
     }
     return $this->sort_order;
   }

   function tax_class($vendors_id='1') {
     $this->tax_class = constant('MODULE_SHIPPING_REQUEST_TAX_CLASS_' . $vendors_id);
     return $this->tax_class;
   }

   function enabled($vendors_id='1') {
     $this->enabled = false;
     $status = @constant('MODULE_SHIPPING_REQUEST_STATUS_' . $vendors_id);
	 if (isset ($status) && $status != '') {
       $this->enabled = (($status == 'True') ? true : false);
     }
     return $this->enabled;
   }
 
   function zones($vendors_id='1') {
     if ( ($this->enabled == true) && ((int)constant('MODULE_SHIPPING_REQUEST_ZONE_' . $vendors_id) > 0) ) {
       $check_flag = false;
       $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . (int)constant('MODULE_SHIPPING_REQUEST_ZONE_' . $vendors_id) . "' 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
       }//while

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

// class methods
   function quote($method = '', $module = '', $vendors_id = '1') {
     global $order, $customer_id, $total_count;
  
 $cost = 0;
 $quote_request = tep_db_query("select * from " . TABLE_REQUEST_SHIPPING . " where customers_id = '$customer_id'");
 if(tep_db_num_rows($quote_request))
 {
	 $quote = tep_db_fetch_array($quote_request);
	 $cost = $quote['shipping_quote'];
	 if ($total_count != $quote['order_num_products'])
   $cost = 0;
 }
 $vendors_data_query = tep_db_query("select handling_charge, 
                                                handling_per_box,
      vendor_country 
                                         from " . TABLE_VENDORS . " 
                                         where vendors_id = '" . (int)$vendors_id . "'"
                                       );
     $vendors_data = tep_db_fetch_array($vendors_data_query);
     $country_name = tep_get_countries($vendors_data['vendor_country'], true);  

     $handling_charge = $vendors_data['handling_charge'];
     $handling_per_box = $vendors_data['handling_per_box'];
     if ($handling_charge > $handling_per_box*$shipping_num_boxes) {
       $handling = $handling_charge;
     } else {
       $handling = $handling_per_box*$shipping_num_boxes;
     }
 $this->quotes = array('id' => $this->code,
    	 'module' => MODULE_SHIPPING_REQUEST_TEXT_TITLE,
    	 'methods' => array(array('id' => $this->code,
             'title' => MODULE_SHIPPING_REQUEST_TEXT_WAY,
             'cost' => $cost + $handling)));

 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($vendors_id='1') {
     if (!isset($this->_check)) {
    $check_query = tep_db_query("select configuration_value from " . TABLE_VENDOR_CONFIGURATION . " where vendors_id = '". $vendors_id ."' and configuration_key = 'MODULE_SHIPPING_REQUEST_STATUS_" . $vendors_id . "'");
       $this->_check = tep_db_num_rows($check_query);
     }
     return $this->_check;
   }

   function install($vendors_id='1') {
     tep_db_query("insert into " . TABLE_VENDOR_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, set_function, date_added, vendors_id) values ('Enable Request Quote Shipping', 'MODULE_SHIPPING_REQUEST_STATUS_" . $vendors_id . "', 'True', 'Do you want to offer request quote shipping?', '6', '0', 'tep_cfg_select_option(array(\'True\', \'False\'), ', now(), '" . $vendors_id . "')");
   
     tep_db_query("insert into " . TABLE_VENDOR_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, use_function, set_function, date_added, vendors_id) values ('Shipping Zone', 'MODULE_SHIPPING_REQUEST_ZONE_" . $vendors_id . "', '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(), '" . $vendors_id . "')");
     tep_db_query("insert into " . TABLE_VENDOR_CONFIGURATION . " (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added, vendors_id) values ('Sort Order', 'MODULE_SHIPPING_REQUEST_SORT_ORDER_" . $vendors_id . "', '0', 'Sort order of display.', '6', '0', now(), '" . $vendors_id . "')");
   }

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

   function keys($vendors_id) {
     return array('MODULE_SHIPPING_REQUEST_STATUS_' . $vendors_id, 'MODULE_SHIPPING_REQUEST_ZONE_' . $vendors_id, 'MODULE_SHIPPING_REQUEST_SORT_ORDER_' . $vendors_id);
   }
 }

Edited by hotnuts21

Feel free to ask me for help

beep... beep....My Pager

Share this post


Link to post
Share on other sites

In the first module, the following code:

       $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_SHIPPING_FIRSTITEMPLUS_ZONE . "' and zone_country_id = '" . $this->delivery_zone_id . "' order by zone_id");

should be

       $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . (int)constant('MODULE_SHIPPING_FIRSTITEMPLUS_ZONE_' . $vendors_id) and zone_country_id = '" . $this->delivery_zone_id . "' order by zone_id");

In the second module, this code

        $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . (int)constant('MODULE_SHIPPING_REQUEST_ZONE_' . $vendors_id) . "' and zone_country_id = '" . $order->delivery['country']['id'] . "' order by zone_id");

should be changed to this

        $check_query = tep_db_query("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . (int)constant('MODULE_SHIPPING_REQUEST_ZONE_' . $vendors_id) . "' and zone_country_id = '" . $order->delivery['zone_id'] . "' order by zone_id");

That's only from a quick examination of the Zones part of the code, since that's where you said you were having problems. If this doesn't fix the problems please post again and I'll take a better look. When I'm done with the current emergencies, I hope.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Very perculiar, it still doesnt work (well spotted by the way).

 

Both shipping options show up, one for uk and one for ROW, they work fine when MVS is switched off though.

 

hmm


Feel free to ask me for help

beep... beep....My Pager

Share this post


Link to post
Share on other sites

Hey.

 

Let me first let you know that the brains behind this contribution is indeed GOD! Drop shippers everywhere who hear of this contribution will be so happy, you have no idea. Well, maybe you do and that's why you put it together.

 

I had some issues modding MVS as I'm all green and cherry when it comes to php. Scripting is not my friend. I went ahead dumped it all (backups intact) and did a clean install of both OSC and MVS so I could get rid of any possible errors due to previous mods.

 

It may be just because I'm not versed in PHP huh.gif but, I get big fat errors on the shipping modules when viewing vendor shipping modules in admin.

 

Warning: constant(): Couldn't find constant MODULE_SHIPPING_FEDEX1_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/fedex1.php on line 120

Warning: constant(): Couldn't find constant MODULE_SHIPPING_FEDEX1_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/fedex1.php on line 120
0  
Flat Rate  
Warning: constant(): Couldn't find constant MODULE_SHIPPING_FLAT_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/flat.php on line 32

Warning: constant(): Couldn't find constant MODULE_SHIPPING_FLAT_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/flat.php on line 32
0  Info
Per Item  
Warning: constant(): Couldn't find constant MODULE_SHIPPING_ITEM_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/item.php on line 33

Warning: constant(): Couldn't find constant MODULE_SHIPPING_ITEM_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/item.php on line 33
0  Info
Table Rate  
Warning: constant(): Couldn't find constant MODULE_SHIPPING_TABLE_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/table.php on line 33

Warning: constant(): Couldn't find constant MODULE_SHIPPING_TABLE_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/table.php on line 33
0  Info
United Parcel Service  
Warning: constant(): Couldn't find constant MODULE_SHIPPING_UPS_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/ups.php on line 62

Warning: constant(): Couldn't find constant MODULE_SHIPPING_UPS_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/ups.php on line 62
0  Info
United Parcel Service (XML)  0  Info
United States Postal Service  
Warning: constant(): Couldn't find constant MODULE_SHIPPING_USPS_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/usps.php on line 83

Warning: constant(): Couldn't find constant MODULE_SHIPPING_USPS_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/usps.php on line 83
0  Info
Zone Rates  
Warning: constant(): Couldn't find constant MODULE_SHIPPING_ZONES_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/zones.php on line 111

Warning: constant(): Couldn't find constant MODULE_SHIPPING_ZONES_SORT_ORDER_4 in /hsphere/local/home/chironae/midnightofferings.com/catalog/includes/modules/vendors_shipping/zones.php on line 111
0  Info
Vendor Module Directory: /hsphere/local/home/chironae/midnightofferings.com//catalog/includes/modules/vendors_shipping/

 

 

We're dying to use this modification on our site when we launch in September. This is the last kink I've found.

 

I read somewhere that I needed to mod the shipping modules in order to make it work but, honestly, blink.gif I dont know where to start. If that's what my fix is, could you give me an idea?

 

I'd truely appreciate it.

 

 

biggrin.gif Again, thank you so much for this contribution. It's existance has saved us time, stress, and possibly our lives (if we had to endure more searching for a shopping cart that worked for drop shippers). biggrin.gif

 

You've a new fan! thumbsup.gif

 

Chironae

Share this post


Link to post
Share on other sites

That batch of errors happens when you miss one file -- includes/application_top.php has a modification at line 73:

//MVS Start
// set the vendor shipping constants
 $vendor_configuration_query = tep_db_query('select configuration_key as cfgKey, configuration_value as cfgValue from ' . TABLE_VENDOR_CONFIGURATION);
 while ($vendor_configuration = tep_db_fetch_array($vendor_configuration_query)) {
   define($vendor_configuration['cfgKey'], $vendor_configuration['cfgValue']);
 }
//MVS End

There's a similar change in admin/includes/application_top.php that you should probably check for as well.

 

The shipping modules included with the MVS distribution have already been modified. If you need modules that aren't in there, check the modules.txt file in the distribution for instructions on modifying them. We'll help you with this as much as we can.

 

And we built MVS for the best of reasons: we needed it too. A lot of people helped with debugging, modifying additional modules, and writing instructions. It was really a community project.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites
That batch of errors happens when you miss one file -- includes/application_top.php has a modification at line 73:
There's a similar change in admin/includes/application_top.php that you should probably check for as well.

 

Thank you so much for this. Your help is tremendous. I have checked those files and they were transferred from the download as is to the files located in catalog/includes/... and admin/includes/...

 

The shipping modules included with the MVS distribution have already been modified. If you need modules that aren't in there, check the modules.txt file in the distribution for instructions on modifying them. We'll help you with this as much as we can.

 

They've already been modified. Okay, I still have the files I downloaded from the contribution and I compared them to the applicaiton_top.php located on my site. They're identical.

 

And we built MVS for the best of reasons: we needed it too. A lot of people helped with debugging, modifying additional modules, and writing instructions. It was really a community project.

 

Regards

Jim

 

Well then my hats off to all people involved. You are tremendous! It's something that only someone who needed it would think of. It's what we've been looking for and if I can debug, well, my many thanks.

 

chironae

Share this post


Link to post
Share on other sites

Your problem seems to be with Vendor #4. Do you have all the information filled in for this vendor? Is there at least one shipping module installed and configured for this vendor? If so, check the vendor_configuration table in your database for a configuration key of MODULE_SHIPPING_FLAT_SORT_ORDER_4. All of the other constants listed in those error messages should be there as well. If they are not, remove and reinstall the shipping modules for that vendor.

 

Regards

Jim


See my profile for a list of my addons and ways to get support.

Share this post


Link to post
Share on other sites

Still havent worked out my shipping problem :(

 

There is cash available if someone can fix it.


Feel free to ask me for help

beep... beep....My Pager

Share this post


Link to post
Share on other sites

Let me be more specific, my state tax dosen't calculate at checkout. I don't tax shipping just the items purchased. prior to installing mvs it worked fine. Other than that, all is well.

 

rudy

 

I haven't  on the forum for awhile.  Is there a post about the tax not populating in mns?

 

rudy


The quest for knowledge is a B!%CH!!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×