Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Multi_Vendor_Shipping new thread


blucollarguy

Recommended Posts

I'm glad that you got it fixed. That still shouldn't be happening, so we need to find out where the code is messing up. Another bug to chase.....

 

Regards

Jim

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

Link to comment
Share on other sites

Hi its me again...surprise! I have the indiv shipping module installed with this the only problem i'm having is the amount shows 0 @ check out instad of the inputed amount. if anyone knows the code that pulls that data in correctly, or where i should start that would help, i have tried the indiv furum but no response.

Link to comment
Share on other sites

just so you know- the correct indiv shipping charge shows up in my product info page...

Here is my current checkout shipping age that i am getting the 0 shipping charge for indiv shipping on...

 

<?php

/*

$Id: checkout_shipping.php 1739 2007-12-20 00:52:16Z hpdl $

 

osCommerce, Open Source E-Commerce Solutions

http://www.oscommerce.com

 

Copyright © 2003 osCommerce

 

Released under the GNU General Public License

*/

 

require('includes/application_top.php');

require('includes/classes/http_client.php');

 

// if the customer is not logged on, redirect them to the login page

if (!tep_session_is_registered('customer_id')) {

$navigation->set_snapshot();

tep_redirect(tep_href_link(FILENAME_LOGIN, '', 'SSL'));

}

 

// if there is nothing in the customers cart, redirect them to the shopping cart page

if ($cart->count_contents() < 1) {

tep_redirect(tep_href_link(FILENAME_SHOPPING_CART));

}

 

// if no shipping destination address was selected, use the customers own address as default

if (!tep_session_is_registered('sendto')) {

tep_session_register('sendto');

$sendto = $customer_default_address_id;

} else {

// verify the selected shipping address

if ( (is_array($sendto) && empty($sendto)) || is_numeric($sendto) ) {

$check_address_query = tep_db_query("select count(*) as total from " . TABLE_ADDRESS_BOOK . " where customers_id = '" . (int)$customer_id . "' and address_book_id = '" . (int)$sendto . "'");

$check_address = tep_db_fetch_array($check_address_query);

 

if ($check_address['total'] != '1') {

$sendto = $customer_default_address_id;

if (tep_session_is_registered('shipping')) tep_session_unregister('shipping');

}

}

}

 

require(DIR_WS_CLASSES . 'order.php');

$order = new order;

 

// register a random ID in the session to check throughout the checkout procedure

// against alterations in the shopping cart contents

if (!tep_session_is_registered('cartID')) tep_session_register('cartID');

$cartID = $cart->cartID;

 

// if the order contains only virtual products, forward the customer to the billing page as

// a shipping address is not needed

if ($order->content_type == 'virtual') {

if (!tep_session_is_registered('shipping')) tep_session_register('shipping');

$shipping = false;

$sendto = false;

tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

}

 

/* gift card modification */

 

$other_products_exist = false;

for ($i=0; $i<sizeof($order->products); $i++) {

if ($order->products[$i]['gift_card'] != '1' ) {

$other_products_exist = true;

}

}

if (!$other_products_exist) { // only gift cards are in cart

if (!tep_session_is_registered('shipping')) tep_session_register('shipping');

$shipping = false;

$sendto = false;

tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

}

/* end of gift card modification */

//MVS Start

if (SELECT_VENDOR_SHIPPING == 'true') {

include(DIR_WS_CLASSES . 'vendor_shipping.php');

$shipping_modules = new shipping;

} else {

// MVS End

$total_weight = $cart->show_weight();

$total_count = $cart->count_contents();

// load all enabled shipping modules

require(DIR_WS_CLASSES . 'shipping.php');

$shipping_modules = new shipping;

 

if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') ) {

$pass = false;

 

switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) {

case 'national':

if ($order->delivery['country_id'] == STORE_COUNTRY) {

$pass = true;

}

break;

case 'international':

if ($order->delivery['country_id'] != STORE_COUNTRY) {

$pass = true;

}

break;

case 'both':

$pass = true;

break;

}

 

$free_shipping = false;

if ( ($pass == true) && ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) {

$free_shipping = true;

 

include(DIR_WS_LANGUAGES . $language . '/modules/order_total/ot_shipping.php');

}

} else {

$free_shipping = false;

}

 

// MVS

}

 

// process the selected shipping method

if ( isset($HTTP_POST_VARS['action']) && ($HTTP_POST_VARS['action'] == 'process') ) {

if (!tep_session_is_registered('comments')) tep_session_register('comments');

if (tep_not_null($HTTP_POST_VARS['comments'])) {

$comments = tep_db_prepare_input($HTTP_POST_VARS['comments']);

}

 

if (!tep_session_is_registered('shipping')) tep_session_register('shipping');

 

// MVS Start

if (SELECT_VENDOR_SHIPPING == 'true') {

 

$total_shipping_cost = 0;

$shipping_title = MULTIPLE_SHIP_METHODS_TITLE;

$vendor_shipping = $cart->vendor_shipping;

$shipping = array();

foreach ($vendor_shipping as $vendor_id => $vendor_data) {

$products_shipped = $_POST['products_' . $vendor_id];

$products_array = explode ("_", $products_shipped);

 

$shipping_data = $_POST['shipping_' . $vendor_id];

$shipping_array = explode ("_", $shipping_data);

$module = $shipping_array[0];

$method = $shipping_array[1];

$ship_tax = $shipping_array[2];

 

if ( is_object($$module) || ($module == 'free') ) {

if ($module == 'free') {

$quote[0]['methods'][0]['title'] = FREE_SHIPPING_TITLE;

$quote[0]['methods'][0]['cost'] = '0';

} else {

$total_weight = $vendor_shipping[$vendor_id]['weight'];

$shipping_weight = $total_weight;

$cost = $vendor_shipping[$vendor_id]['cost'];

$total_count = $vendor_shipping[$vendor_id]['qty'];

$quote = $shipping_modules->quote($method, $module, $vendor_id);

 

}

if (isset($quote['error'])) {

tep_session_unregister('shipping');

} else {

if ( (isset($quote[0]['methods'][0]['title'])) && (isset($quote[0]['methods'][0]['cost'])) ) {

$output[$vendor_id] = array('id' => $module . '_' . $method,

'title' => $quote[0]['methods'][0]['title'],

'ship_tax' => $ship_tax,

'products' => $products_array,

'cost' => $quote[0]['methods'][0]['cost']

);

$total_ship_tax += $ship_tax;

$total_shipping_cost += $quote[0]['methods'][0]['cost'];

}//if isset

}//if isset

}//if is_object

}//foreach

if ($free_shipping == true) {

$shipping_title = $quote[0]['module'];

} elseif (count($output) <2) {

$shipping_title = $quote[0]['methods'][0]['title'];

}

$shipping = array('id' => $shipping,

'title' => $shipping_title,

'cost' => $total_shipping_cost,

'shipping_tax_total' => $total_ship_tax,

'vendor' => $output

);

 

tep_redirect (tep_href_link (FILENAME_CHECKOUT_PAYMENT, '', 'SSL') );

 

} else {

// MVS End

if ( (tep_count_shipping_modules() > 0) || ($free_shipping == true) ) {

if ( (isset($HTTP_POST_VARS['shipping'])) && (strpos($HTTP_POST_VARS['shipping'], '_')) ) {

$shipping = $HTTP_POST_VARS['shipping'];

 

list($module, $method) = explode('_', $shipping);

if ( is_object($$module) || ($shipping == 'free_free') ) {

if ($shipping == 'free_free') {

$quote[0]['methods'][0]['title'] = FREE_SHIPPING_TITLE;

$quote[0]['methods'][0]['cost'] = '0';

} else {

$quote = $shipping_modules->quote($method, $module);

}

if (isset ($quote['error']) ) {

tep_session_unregister('shipping');

} else {

if ( (isset($quote[0]['methods'][0]['title']) ) && (isset($quote[0]['methods'][0]['cost'])) ) {

$shipping = array('id' => $shipping,

'title' => ( ($free_shipping == true) ? $quote[0]['methods'][0]['title'] : $quote[0]['module'] . ' (' . $quote[0]['methods'][0]['title'] . ')'),

// start indvship

//'cost' => $quote[0]['methods'][0]['cost']);

'cost' => $quote[0]['methods'][0]['cost'],

'invcost' => $shipping_modules->get_shiptotal());

// end indvship

 

tep_redirect (tep_href_link (FILENAME_CHECKOUT_PAYMENT, '', 'SSL') );

}

}

} else {

tep_session_unregister ('shipping');

}

}

 

} else {

$shipping = false;

 

tep_redirect(tep_href_link(FILENAME_CHECKOUT_PAYMENT, '', 'SSL'));

}

// MVS

}

}

 

// get all available shipping quotes

$quotes = $shipping_modules->quote();

 

// if no shipping method has been selected, automatically select the cheapest method.

// if the modules status was changed when none were available, to save on implementing

// a javascript force-selection method, also automatically select the cheapest shipping

// method if more than one module is now enabled

if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) ) $shipping = $shipping_modules->cheapest();

 

require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_SHIPPING);

 

$breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));

$breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));

?>

<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">

<html <?php echo HTML_PARAMS; ?>>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=<?php echo CHARSET; ?>">

<title><?php echo TITLE; ?></title>

<base href="<?php echo (($request_type == 'SSL') ? HTTPS_SERVER : HTTP_SERVER) . DIR_WS_CATALOG; ?>">

<link rel="stylesheet" type="text/css" href="stylesheet.css">

<script language="javascript"><!--

<?php

// MVS Start

if (SELECT_VENDOR_SHIPPING == 'true') {

?>

 

function selectRowEffect(object, buttonSelect, vendor) {

 

var test='defaultSelected_' + vendor;//set aside defaultSelected_' . $vendor_id . '

var el=document.getElementsByTagName('tr');//all the tr elements

for(var i=0;i<el.length;i++){

var p=el.id.replace(test,'').replace(/\d/g,'');//strip the $radio_buttons value

if(p=='_'){//the only thing left is an underscore

el.className = "moduleRow";//make the matching elements normal

}

}

 

object.className = "moduleRowSelected";//override el.className and highlight the clicked row

 

var field = document.getElementById('shipping_radio_' + buttonSelect + '_' + vendor);

if (document.getElementById) {

var field = document.getElementById('shipping_radio_' + buttonSelect + '_' + vendor);

} else {

var field = document.all['shipping_radio_' + buttonSelect + '_' + vendor];

}

}

 

<?php

} else {

// MVS End

?>

 

var selected;

 

function selectRowEffect(object, buttonSelect) {

if (!selected) {

if (document.getElementById) {

selected = document.getElementById('defaultSelected');

} else {

selected = document.all['defaultSelected'];

}

}

 

if (selected) selected.className = 'moduleRow';

object.className = 'moduleRowSelected';

selected = object;

 

// one button is not an array

if (document.checkout_address.shipping[0]) {

document.checkout_address.shipping[buttonSelect].checked=true;

} else {

document.checkout_address.shipping.checked=true;

}

}

<?php

// MVS

}

?>

 

function rowOverEffect(object) {

if (object.className == 'moduleRow') object.className = 'moduleRowOver';

}

 

function rowOutEffect(object) {

if (object.className == 'moduleRowOver') object.className = 'moduleRow';

}

//--></script>

</head>

<body marginwidth="0" marginheight="0" topmargin="0" bottommargin="0" leftmargin="0" rightmargin="0">

<!-- header //-->

<?php require(DIR_WS_INCLUDES . 'header.php'); ?>

<!-- header_eof //-->

 

<!-- body //-->

<table border="0" width="100%" cellspacing="3" cellpadding="3">

<tr>

<td width="<?php echo BOX_WIDTH; ?>" valign="top"><table border="0" width="<?php echo BOX_WIDTH; ?>" cellspacing="0" cellpadding="2">

<!-- left_navigation //-->

<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>

<!-- left_navigation_eof //-->

</table></td>

<!-- body_text //-->

<td width="100%" valign="top"><?php echo tep_draw_form('checkout_address', tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL')) . tep_draw_hidden_field('action', 'process'); ?><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td class="pageHeading"><?php echo HEADING_TITLE; ?></td>

<td class="pageHeading" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'table_background_delivery.gif', HEADING_TITLE, HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td class="main"><b><?php echo TABLE_HEADING_SHIPPING_ADDRESS; ?></b></td>

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" width="50%" valign="top"><?php echo TEXT_CHOOSE_SHIPPING_DESTINATION . '<br><br><a href="' . tep_href_link(FILENAME_CHECKOUT_SHIPPING_ADDRESS, '', 'SSL') . '">' . tep_image_button('button_change_address.gif', IMAGE_BUTTON_CHANGE_ADDRESS) . '</a>'; ?></td>

<td align="right" width="50%" valign="top"><table border="0" cellspacing="0" cellpadding="2">

<tr>

<td class="main" align="center" valign="top"><?php echo '<b>' . TITLE_SHIPPING_ADDRESS . '</b><br>' . tep_image(DIR_WS_IMAGES . 'arrow_south_east.gif'); ?></td>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" valign="top"><?php echo tep_address_label($customer_id, $sendto, true, ' ', '<br>'); ?></td>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

//MVS

if (tep_count_shipping_modules() > 0 || SELECT_VENDOR_SHIPPING == 'true') {

?>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td class="main"><b><?php echo TABLE_HEADING_SHIPPING_METHOD; ?></b></td>

</tr>

</table></td>

</tr>

<?php

// MVS Start

if (SELECT_VENDOR_SHIPPING == 'true') {

require(DIR_WS_MODULES . 'vendor_shipping.php');

} else {

$quotes = $shipping_modules->quote();

 

if ( defined('MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING') && (MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING == 'true') ) {

$pass = false;

 

switch (MODULE_ORDER_TOTAL_SHIPPING_DESTINATION) {

case 'national':

if ($order->delivery['country_id'] == STORE_COUNTRY) {

$pass = true;

}

break;

case 'international':

if ($order->delivery['country_id'] != STORE_COUNTRY) {

$pass = true;

}

break;

case 'both':

$pass = true;

break;

}

 

$free_shipping = false;

if ( ($pass == true) && ($order->info['total'] >= MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER) ) {

$free_shipping = true;

 

include(DIR_WS_LANGUAGES . $language . '/modules/order_total/ot_shipping.php');

}

} else {

$free_shipping = false;

}

 

// if no shipping method has been selected, automatically select the cheapest method.

// if the modules status was changed when none were available, to save on implementing

// a javascript force-selection method, also automatically select the cheapest shipping

// method if more than one module is now enabled

if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) ) $shipping = $shipping_modules->cheapest();

//MVS End

?>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<?php

if (sizeof($quotes) > 1 && sizeof($quotes[0]) > 1) {

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" width="50%" valign="top"><?php echo TEXT_CHOOSE_SHIPPING_METHOD; ?></td>

<td class="main" width="50%" valign="top" align="right"><?php echo '<b>' . TITLE_PLEASE_SELECT . '</b><br>' . tep_image(DIR_WS_IMAGES . 'arrow_east_south.gif'); ?></td>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

} elseif ($free_shipping == false) {

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" width="100%" colspan="2"><?php echo TEXT_ENTER_SHIPPING_INFORMATION; ?></td>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

}

 

if ($free_shipping == true) {

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td colspan="2" width="100%"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" colspan="3"><b><?php echo FREE_SHIPPING_TITLE; ?></b> <?php echo $quotes[$i]['icon']; ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, 0)">

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" width="100%"><?php echo sprintf(FREE_SHIPPING_DESCRIPTION, $currencies->format(MODULE_ORDER_TOTAL_SHIPPING_FREE_SHIPPING_OVER)) . tep_draw_hidden_field('shipping', 'free_free'); ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

</table></td>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

} else {

$radio_buttons = 0;

for ($i=0, $n=sizeof($quotes); $i<$n; $i++) {

?>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td colspan="2"><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" colspan="3"><b><?php echo $quotes[$i]['module']; ?></b> <?php if (isset($quotes[$i]['icon']) && tep_not_null($quotes[$i]['icon'])) { echo $quotes[$i]['icon']; } ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

if (isset($quotes[$i]['error'])) {

?>

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" colspan="3"><?php echo $quotes[$i]['error']; ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

} else {

for ($j=0, $n2=sizeof($quotes[$i]['methods']); $j<$n2; $j++) {

// set the radio button to be checked if it is the method chosen

$checked = (($quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'] == $shipping['id']) ? true : false);

 

if ( ($checked == true) || ($n == 1 && $n2 == 1) ) {

echo ' <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n";

} else {

echo ' <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n";

}

?>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main" width="75%"><?php echo $quotes[$i]['methods'][$j]['title']; ?></td>

<?php

if ( ($n > 1) || ($n2 > 1) ) {

?>

<td class="main"><?php echo $currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], (isset($quotes[$i]['tax']) ? $quotes[$i]['tax'] : 0))); ?></td>

<td class="main" align="right"><?php echo tep_draw_radio_field('shipping', $quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'], $checked); ?></td>

<?php

} else {

?>

<td class="main" align="right" colspan="2"><?php echo $currencies->format(tep_add_tax($quotes[$i]['methods'][$j]['cost'], $quotes[$i]['tax'])) . tep_draw_hidden_field('shipping', $quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id']); ?></td>

<?php

}

?>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

$radio_buttons++;

}

}

?>

</table></td>

<td><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

<?php

}

}

?>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<?php

}

//MVS

}

?>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td class="main"><b><?php echo TABLE_HEADING_COMMENTS; ?></b></td>

</tr>

</table></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td><?php echo tep_draw_textarea_field('comments', 'soft', '60', '5'); ?></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">

<tr class="infoBoxContents">

<td><table border="0" width="100%" cellspacing="0" cellpadding="2">

<tr>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

<td class="main"><?php echo '<b>' . TITLE_CONTINUE_CHECKOUT_PROCEDURE . '</b><br>' . TEXT_CONTINUE_CHECKOUT_PROCEDURE; ?></td>

<td class="main" align="right"><?php echo tep_image_submit('button_continue.gif', IMAGE_BUTTON_CONTINUE); ?></td>

<td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>

</tr>

</table></td>

</tr>

</table></td>

</tr>

<tr>

<td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>

</tr>

<tr>

<td><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td width="50%" align="right"><?php echo tep_image(DIR_WS_IMAGES . 'checkout_bullet.gif'); ?></td>

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

</tr>

</table></td>

<td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

<td width="25%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

<td width="25%"><table border="0" width="100%" cellspacing="0" cellpadding="0">

<tr>

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '100%', '1'); ?></td>

<td width="50%"><?php echo tep_draw_separator('pixel_silver.gif', '1', '5'); ?></td>

</tr>

</table></td>

</tr>

<tr>

<td align="center" width="25%" class="checkoutBarCurrent"><?php echo CHECKOUT_BAR_DELIVERY; ?></td>

<td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_PAYMENT; ?></td>

<td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_CONFIRMATION; ?></td>

<td align="center" width="25%" class="checkoutBarTo"><?php echo CHECKOUT_BAR_FINISHED; ?></td>

</tr>

</table></td>

</tr>

</table></form></td>

<!-- body_text_eof //-->

 

</tr>

</table>

<!-- body_eof //-->

 

<!-- footer //-->

<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>

<!-- footer_eof //-->

<br>

</body>

</html>

<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Link to comment
Share on other sites

hi all (jim)- i have been double checking my upgrade from mvs1.1 to mvs 1.2 and have been having indiv shipping issues as 0, so i went back to shipping to make vendor shipping false, and it not longer shows up as a shipping option. please point me in the right direction, to where i have failed, for all of my vendor 1.2 files are "i think" correct.

Link to comment
Share on other sites

The Individual Shipping mod for MVS seems to have problems. I don't know if it's MVS or RC2a that's causing the problem. Anyone who has the time to debug this is welcome.

 

Regards

Jim

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

Link to comment
Share on other sites

  • 2 weeks later...
  • 3 weeks later...

This is the code I used to insert the phone number and email address for Multi vendors shipping. It will insert phone number and email address into the emails sent to your vendors.

These are the files I edited admin/order.php on about line 72add this

customers_telephone, customers_email_address

on or about line 93 change the code to this

EMAIL_SEPARATOR .   '<br>' . '<br>Customers PHone Number:<br>' .$vendor_delivery_address_list['customers_telephone'] . '<br>' .
   EMAIL_SEPARATOR .   '<br>' . '<br>Customers Email:<br>' .$vendor_delivery_address_list['customers_email_address'] . '<br>' .
    EMAIL_SEPARATOR . '<br>' . '<br>Dropship deliver to:<br>' .$vendor_delivery_address_list['delivery_name'] .'<br>' .

 

The second file that I changed was admin/vendor_email_send.php on or about line 150 add this

customers_telephone, customers_email_address

on or about line170 change code to this

EMAIL_SEPARATOR .   '<br>' . '<br>Customers PHone Number:<br>' .$vendor_delivery_address_list['customers_telephone'] . '<br>' .
   EMAIL_SEPARATOR .   '<br>' . '<br>Customers Email:<br>' .$vendor_delivery_address_list['customers_email_address'] . '<br>' .
   EMAIL_SEPARATOR . '<br>' . '<br>Dropship deliver to:<br>' .$vendor_delivery_address_list['delivery_name'] .'<br>' . 

 

Third File checkout_process on or about line 338 add this code

customers_telephone, customers_email_address

 

on or about this line 358

.$vendor_delivery_address_list['customers_telephone'] .$vendor_delivery_address_list['customers_email_address'] . '<br>' .

before this

$vendor_delivery_address_list['delivery_name'] .'<br>' .

 

 

This is what it should look like:

To: your vendors name

 

------------------------------------------------------

Special Comments or Instructions:

 

------------------------------------------------------

From: you

 

Accnt #:

------------------------------------------------------

Order Number: 900

------------------------------------------------------

 

------------------------------------------------------

Shipping Method: ups -- Ground

 

------------------------------------------------------

 

Customers PHone Number:

xxx-xxx-xxxx

------------------------------------------------------

 

Customers Email:

[email protected]

------------------------------------------------------

 

Dropship deliver to:

billy bob

15 know where drive

my town ms 55555

------------------------------------------------------

Edited by pbpools
Link to comment
Share on other sites

Hello all,

 

I've been a avid user of OSC for many years.

 

I am having problems tracking down a error.

 

Warning: Cannot modify header information - headers already sent by (output started at /home/advanced/public_html/catalog/checkout_shipping.php:89) in /home/advanced/public_html/catalog/includes/functions/general.php on line 34

 

I am unable to checkout products (get this error instead) but if I turn off MVS everything works fine.

 

I'm not new to PHP but this one has me baffled. Any help is appreciated.

Link to comment
Share on other sites

That's usually the result of trying to print something in a section that redirects. Look for some sort of output in /catalog/checkout_shipping.php at or before Line 89.

 

Regards

Jim

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

Link to comment
Share on other sites

  • 2 weeks later...

First thanks to kymation for making this great contribution work with osCommerce v2.2 RC2

 

I am using MSV 1.2 and the free shipping module is calculating the amount for free shipping based on the total order amount. It should calculate based on the vendor item total.

 

Vendor #1 light items

Free shipping after $50 is spent and flat fee of $8.99 if under $50

 

Vendor #2 heavy LTL trucking.

Free shipping after $200 is spent and flat fee of $40 if under $200

 

If customer orders $180 from vendor #1 and $25 from vendor #2

 

Free shipping from vendor #1 and $40 from vendor #2 should be the correct shipping.

 

But since the total from both vendors combined is over $200 it gives free shipping on both vendors but only #1 should be free.

 

Also If two different vendors offer free shipping at $50 and one is over $50 and the other is not again free shipping on both vendors but only the one over $50 should be free.

 

freeamount.php that came with MVS 1.2 does not work correctly and the (Free Shipping Module for MVS 1.0) from NancyL7 does not work with MSV 1.2 so I don’t know if it calculates amount required for free shipping based on total spent by vendor or by the total of the entire order.

 

Please help getting any free shipping addon work correctly with MSV 1.2

Thankyou

Edited by faustjr
Link to comment
Share on other sites

The freeamount module appears to have a bug. catalog/includes/modules/vendor_shipping/freeamount.php Line 136 is

	 if ($cart->show_total() < @ constant('MODULE_SHIPPING_FREEAMOUNT_AMOUNT_' . $vendors_id)) {

which uses the cart total instead of the vendor total. Try this instead

	  if ($cart->vendor_shipping[$vendors_id]['cost'] < @ constant('MODULE_SHIPPING_FREEAMOUNT_AMOUNT_' . $vendors_id)) {

Regards

Jim

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

Link to comment
Share on other sites

hi all long time jim- i just started recieving order and oticed this problem in my admin vendor orders.. please advise...

 

1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'ASC' at line 1

 

select distinct o.customers_id, o.orders_id, o.customers_name, o.payment_method, o.date_purchased, o.last_modified, o.currency, o.currency_value, s.orders_status_name, ot.text as order_total from orders o left join orders_total ot on (o.orders_id = ot.orders_id), orders_status s where o.orders_status = '' and o.orders_status = s.orders_status_id and s.language_id = '1' and ot.class = 'ot_total' and o.orders_id = '8' order by o. ASC

Link to comment
Share on other sites

Ouch. Oh did I ever I mess up that code. Find catalog/admin/orders_by_vendor.php, Line 31ff

  $sort_by_filter = '';
 if (isset ($_GET['by']) && $_GET['by'] != '') {
switch ($_GET['by']) {
  case 'date':
	$sort_by_filter = 'date_purchased';
  case 'customer':
	$sort_by_filter = 'customers_id';
  case 'status':
	$sort_by_filter = 'status';
  case 'sent':
	$sort_by_filter == 'sent';
  default:
	$sort_by_filter = 'orders_id';
}
 }

and replace with

  $sort_by_filter = 'orders_id';
 if (isset ($_GET['by']) && $_GET['by'] != '') {
switch ($_GET['by']) {
  case 'date':
	$sort_by_filter = 'date_purchased';
	break;
  case 'customer':
	$sort_by_filter = 'customers_id';
	break;
  case 'status':
	$sort_by_filter = 'status';
	break;
  case 'sent':
	$sort_by_filter == 'sent';
	break;
  default:
	$sort_by_filter = 'orders_id';
	break;
}
 }

Any other bugs out there? It's looking like time to release a bugfix update.

 

Regards

Jim

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

Link to comment
Share on other sites

MVS INSTALL FOR DUMMIES (like me)

 

1) Install MVS per instructions

2) Install shipper module (i.e. UPS, DHL, USPS, etc) from contributions

3) Edit a vendor (your product supplier) in Admin/Vendors/Vendor Manager/Edit.

Be sure to set which shippers this vender uses in Admin/Vendors/Vendor Manager/Manage.

Be sure to assign this vendor's products to this vendor.

If all products in your store are from this vendor use Admin/Vendors/Vendor Manager/Move Products Between Vendors.

If your products are from mulitple vendors, assign products to vendors individually or with sql query.

4) Be sure to select which shipping options the user will see (Ground, 1 Day Air, etc) in Modules/Shipping/(shipper, i.e UPS)

 

 

Don't bother testing your setup until you have completed all these steps. All the errors I kept getting and most of the "I just installed MVS and am getting error [fill in your error]" posts I read could have been avoided by following the steps above. I wasted a good part of a day chasing errors due to an incomplete intallation and setup.

 

Best wishes

Edited by ifscal
Link to comment
Share on other sites

Most of this is covered in the usage.txt file in the distribution. If you don't mind, I may copy your post for a "quick overview" section. A warning to not test anything before finishing setup is also a good idea.

 

I'd like to put up a bugfix release sometime soon, so this is a good time to tell me what you want included.

 

Regards

Jim

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

Link to comment
Share on other sites

I have been working on my site for quite a while. It's not yet live, but it's getting close.

I integrated MVS into it a while ago, and it is great! Thanks so much for this wonderful contribution!

 

Sometimes I get people who order by check, so I would need to enter an order in manually.

I tried using the manual order maker / order editor contribs, which are on the admin side of things.

But they don't have any support for MVS. So when I created an order, it didn't enter anything into the orders_shipping table.

So my question is, what is the best way to be able to enter an order in without entering their credit card info, but to have it act appropriately with MVS?

Should I try to do this on the admin side, and is there MVS support for this?

Or, it might be easier if I could go through the regular flow, and enter the order as if I were the customer, but then be able to not enter the credit card info. I don't want to leave the "Cash on Delivery" option active in my live website, thought, just the "authorize.net" option, since this is an unusual situation.

 

I hope I'm posting this question in the correct place--sorry if it's not appropriate.

 

Thanks in advance for any suggestions!

-Lori-

Link to comment
Share on other sites

Ther is a version of Order Editor for MVS. If that doesn't work for you, modifying the current version to work with MVS is probably the only solution that makes sense.

 

Regards

Jim

 

Thanks Jim! I'll check out the addon. I started with a heavily modded site, and I didn't realize there was an addon for MVS for the Order Editor.

 

Thanks again for all your great work!

-Lori-

Link to comment
Share on other sites

  • 2 weeks later...

I've added a new version with the bugfixes posted here. The file is still huge, so I expect it will take a while to get approved.

 

Regards

Jim

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

Link to comment
Share on other sites

I spent the last two days upgrading this wonderful contrib in my system. I had a few issues, mainly with missing parts of other contribs that were in the code as MVS. Once I got that all sorted out along with the changes that had to be made to sql, I tried to get the store back on line.

Everything seems to work except the vendor e-mail function. It does not list the individual orders under each vendor as it did with the last release. I ran through the code once more but could not find the problem. Under each vendor in the vendor section of admin the number of orders attributed to them is listed but when you click the order button the page doesn't have any of the orders placed.

Any ideas?

Link to comment
Share on other sites

You may have made an editing error somewhere. Nobody else has reported this, or I'd think I made an error in the updates. Which I may still have. Try putting your old file back up and see if it still works. The changes shouldn't be enough to keep it from working with the rest of the new files.

 

Regards

Jim

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

Link to comment
Share on other sites

  • 1 month later...

Hi All

 

May have been covered but can't find anywhere -

 

Can't seem to get store pick up to show when checking out. Have just installed MVS and reworked AusPost modules to work (no problems there - they work beautifully) BUT the spu.php doesn't seem to work. Have created vendor_pickup and installed spu module for that vendor - associated a catolog item but when it comes to check out no shipping option shows up and can't procedd since shipping has not been set.

 

Have tried double checking code for all includes in checkout_shipping and spu.php. Have tidied up database. Have done file compares. Unfortuantely I'm no php-head... Has anyone else had this problem?

 

Thanks

:-)

Codare

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...