Hi Rod
I found what it is its the hidden wholesale can you please tell me how i can rune these 2 together. When i have wholesale there is no where to put sizes of the product if i change the admin files back i cant get wholesale to work any ideas
Hi Rod
Do you know of anyone that might be able to merge these files for me as i have no idea what i am doing with them
Hi Rod,
I'm brand new to Zen Cart and I was looking at installing this module as it supports Fastway couriers.
After having a look at the txt files included with the version I just downloaded (1.0.2), I was wondering about the back end processing of this module.
If I'm reading correctly, it talks to a private website (ozpost.vcsweb.com) to get the prices rather than talking to Fastway directly. Is this something that can be disabled / changed? I'm worried about what would happen to my shop if that website went down for any reason (DOS attack / account over monthly transfer quota etc).
Also, I tried to download the latest version as per one of your other posts (about it being compatible with 1.3.9), but the link you gave (http://vcsweb.com/rod/ozpost_v2.0.5.zip) gets a error.
Thanks!
Hi Rod
Ok i had a go at doing it myself i think its all working however the weight box on my admin where the products are is in the wrong position can you please tell me how to fix this.
Here is the link to my screen shot https://www.uniqueliving.com.au/zencart/screen.jpg[IMG]
V1.0.2 doesn't support Fastway. You need V2.x.x
ozpost.vcsweb.com is no more 'private' than zen-cart.com, austpost.com.au or fastway.com.au, and less private than tntexpress.com.au.
Not without writing your own module.
The ozpost module will still be able to supply *A* quote if the ozpost server becomes unavailable (fixed price, weight based or item based), so in this regard your shop would behave more 'normal' than if you had a module that contacted Fastway directly and *thier* site went down.
The link posted in the forum was temporary only. The copy I placed into the downloads section was made available sometime over the last 24hours or so, so there's no need to leave the temp copy available.
Incidently, even ozpost V1.x.x is compatible with zen1.3.9, but V1 doesn't have the Fastway or TNT support.
Cheers
Rod
If it appears to be working, then it is working :-)
Of those 3 files you needed to change:
One of them controls what is displayed on screen when entering the data, another is used for the preview. and the last one does the actual database updates, so........
I can't tell you how to fix it without seeing the code.
From memory, the file you'll be needing to edit is collect_info.php. It shouldn't be too difficult to spot the cause - It's probably a "td" or "tr" tag missing or transposed.
Cheers
Rod
Thanks for the quick reply RodG. I'm a lot less stressed now!![]()
Hi Rod thanks for your help
This is the code from collect_info.php
If you could please have a look it would be much appreciated.
thanks
<?php
/**
* @package admin
* @copyright Copyright 2003-2006 Zen Cart Development Team
* @copyright Portions Copyright 2003 osCommerce
* @license http://www.zen-cart.com/license/2_0.txt GNU Public License V2.0
* @version $Id: collect_info.php 3009 2006-02-11 15:41:10Z wilt $
*/
if (!defined('IS_ADMIN_FLAG')) {
die('Illegal Access');
}
$parameters = array('products_name' => '',
'products_description' => '',
'products_url' => '',
'products_id' => '',
'products_quantity' => '',
'products_model' => '',
'products_image' => '',
'products_price' => '',
'products_price_w' => '',
'products_virtual' => DEFAULT_PRODUCT_PRODUCTS_VIRTUAL,
'products_weight' => '',
'products_height' => '',
'products_length' => '',
'products_width' => '',
'products_date_added' => '',
'products_last_modified' => '',
'products_date_available' => '',
'products_status' => '',
'products_tax_class_id' => DEFAULT_PRODUCT_TAX_CLASS_ID,
'manufacturers_id' => '',
'products_quantity_order_min' => '',
'products_quantity_order_units' => '',
'products_priced_by_attribute' => '',
'product_is_free' => '',
'product_is_call' => '',
'products_quantity_mixed' => '',
'product_is_always_free_shipping' => DEFAULT_PRODUCT_PRODUCTS_IS_ALWAYS_FREE_SHIPPING,
'products_qty_box_status' => PRODUCTS_QTY_BOX_STATUS,
'products_quantity_order_max' => '0',
'products_sort_order' => '0',
'products_discount_type' => '0',
'products_discount_type_from' => '0',
'products_price_sorter' => '0',
'master_categories_id' => ''
);
$pInfo = new objectInfo($parameters);
if (isset($_GET['pID']) && empty($_POST)) {
$product = $db->Execute("select pd.products_name, pd.products_description, pd.products_url,
p.products_id, p.products_quantity, p.products_model,
p.products_image, p.products_price, p.products_price_w, p.products_virtual, p.products_weight,
p.products_date_added, p.products_last_modified,
date_format(p.products_date_available, '%Y-%m-%d') as
products_date_available, p.products_status, p.products_tax_class_id,
p.manufacturers_id,
p.products_height,p.products_length, p.products_width,
p.products_quantity_order_min, p.products_quantity_order_units, p.products_priced_by_attribute,
p.product_is_free, p.product_is_call, p.products_quantity_mixed,
p.product_is_always_free_shipping, p.products_qty_box_status, p.products_quantity_order_max,
p.products_sort_order,
p.products_discount_type, p.products_discount_type_from,
p.products_price_sorter, p.master_categories_id
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd
where p.products_id = '" . (int)$_GET['pID'] . "'
and p.products_id = pd.products_id
and pd.language_id = '" . (int)$_SESSION['languages_id'] . "'");
$pInfo->objectInfo($product->fields);
} elseif (zen_not_null($_POST)) {
$pInfo->objectInfo($_POST);
$products_name = $_POST['products_name'];
$products_description = $_POST['products_description'];
$products_url = $_POST['products_url'];
}
$manufacturers_array = array(array('id' => '', 'text' => TEXT_NONE));
$manufacturers = $db->Execute("select manufacturers_id, manufacturers_name
from " . TABLE_MANUFACTURERS . " order by manufacturers_name");
while (!$manufacturers->EOF) {
$manufacturers_array[] = array('id' => $manufacturers->fields['manufacturers_id'],
'text' => $manufacturers->fields['manufacturers_name']);
$manufacturers->MoveNext();
}
$tax_class_array = array(array('id' => '0', 'text' => TEXT_NONE));
$tax_class = $db->Execute("select tax_class_id, tax_class_title
from " . TABLE_TAX_CLASS . " order by tax_class_title");
while (!$tax_class->EOF) {
$tax_class_array[] = array('id' => $tax_class->fields['tax_class_id'],
'text' => $tax_class->fields['tax_class_title']);
$tax_class->MoveNext();
}
$languages = zen_get_languages();
if (!isset($pInfo->products_status)) $pInfo->products_status = '1';
switch ($pInfo->products_status) {
case '0': $in_status = false; $out_status = true; break;
case '1':
default: $in_status = true; $out_status = false;
break;
}
// set to out of stock if categories_status is off and new product or existing products_status is off
if (zen_get_categories_status($current_category_id) == '0' and $pInfo->products_status != '1') {
$pInfo->products_status = 0;
$in_status = false;
$out_status = true;
}
// Virtual Products
if (!isset($pInfo->products_virtual)) $pInfo->products_virtual = PRODUCTS_VIRTUAL_DEFAULT;
switch ($pInfo->products_virtual) {
case '0': $is_virtual = false; $not_virtual = true; break;
case '1': $is_virtual = true; $not_virtual = false; break;
default: $is_virtual = false; $not_virtual = true;
}
// Always Free Shipping
if (!isset($pInfo->product_is_always_free_shipping)) $pInfo->product_is_always_free_shipping = DEFAULT_PRODUCT_PRODUCTS_IS_ALWAYS_FREE_SHIPPING;
switch ($pInfo->product_is_always_free_shipping) {
case '0': $is_product_is_always_free_shipping = false; $not_product_is_always_free_shipping = true; $special_product_is_always_free_shipping = false; break;
case '1': $is_product_is_always_free_shipping = true; $not_product_is_always_free_shipping = false; $special_product_is_always_free_shipping = false; break;
case '2': $is_product_is_always_free_shipping = false; $not_product_is_always_free_shipping = false; $special_product_is_always_free_shipping = true; break;
default: $is_product_is_always_free_shipping = false; $not_product_is_always_free_shipping = true; $special_product_is_always_free_shipping = false;
}
// products_qty_box_status shows
if (!isset($pInfo->products_qty_box_status)) $pInfo->products_qty_box_status = PRODUCTS_QTY_BOX_STATUS;
switch ($pInfo->products_qty_box_status) {
case '0': $is_products_qty_box_status = false; $not_products_qty_box_status = true; break;
case '1': $is_products_qty_box_status = true; $not_products_qty_box_status = false; break;
default: $is_products_qty_box_status = true; $not_products_qty_box_status = false;
}
// Product is Priced by Attributes
if (!isset($pInfo->products_priced_by_attribute)) $pInfo->products_priced_by_attribute = '0';
switch ($pInfo->products_priced_by_attribute) {
case '0': $is_products_priced_by_attribute = false; $not_products_priced_by_attribute = true; break;
case '1': $is_products_priced_by_attribute = true; $not_products_priced_by_attribute = false; break;
default: $is_products_priced_by_attribute = false; $not_products_priced_by_attribute = true;
}
// Product is Free
if (!isset($pInfo->product_is_free)) $pInfo->product_is_free = '0';
switch ($pInfo->product_is_free) {
case '0': $in_product_is_free = false; $out_product_is_free = true; break;
case '1': $in_product_is_free = true; $out_product_is_free = false; break;
default: $in_product_is_free = false; $out_product_is_free = true;
}
// Product is Call for price
if (!isset($pInfo->product_is_call)) $pInfo->product_is_call = '0';
switch ($pInfo->product_is_call) {
case '0': $in_product_is_call = false; $out_product_is_call = true; break;
case '1': $in_product_is_call = true; $out_product_is_call = false; break;
default: $in_product_is_call = false; $out_product_is_call = true;
}
// Products can be purchased with mixed attributes retail
if (!isset($pInfo->products_quantity_mixed)) $pInfo->products_quantity_mixed = '0';
switch ($pInfo->products_quantity_mixed) {
case '0': $in_products_quantity_mixed = false; $out_products_quantity_mixed = true; break;
case '1': $in_products_quantity_mixed = true; $out_products_quantity_mixed = false; break;
default: $in_products_quantity_mixed = true; $out_products_quantity_mixed = false;
}
// set image overwrite
$on_overwrite = true;
$off_overwrite = false;
?>
<link rel="stylesheet" type="text/css" href="includes/javascript/spiffyCal/spiffyCal_v2_1.css">
<script language="JavaScript" src="includes/javascript/spiffyCal/spiffyCal_v2_1.js"></script>
<script language="javascript"><!--
var dateAvailable = new ctlSpiffyCalendarBox("dateAvailable", "new_product", "products_date_available","btnDate1","<?php echo $pInfo->products_date_available; ?>",scBTNMODE_CUSTOMBLUE);
//--></script>
<script language="javascript"><!--
var tax_rates = new Array();
<?php
for ($i=0, $n=sizeof($tax_class_array); $i<$n; $i++) {
if ($tax_class_array[$i]['id'] > 0) {
echo 'tax_rates["' . $tax_class_array[$i]['id'] . '"] = ' . zen_get_tax_rate_value($tax_class_array[$i]['id']) . ';' . "\n";
}
}
?>
function doRound(x, places) {
return Math.round(x * Math.pow(10, places)) / Math.pow(10, places);
}
function getTaxRate() {
var selected_value = document.forms["new_product"].products_tax_class_id.selectedIndex;
var parameterVal = document.forms["new_product"].products_tax_class_id[selected_value].value;
if ( (parameterVal > 0) && (tax_rates[parameterVal] > 0) ) {
return tax_rates[parameterVal];
} else {
return 0;
}
}
function updateGross() {
var taxRate = getTaxRate();
var grossValue = document.forms["new_product"].products_price.value;
if (taxRate > 0) {
grossValue = grossValue * ((taxRate / 100) + 1);
}
document.forms["new_product"].products_price_gross.value = doRound(grossValue, 4);
}
function updateNet() {
var taxRate = getTaxRate();
var netValue = document.forms["new_product"].products_price_gross.value;
if (taxRate > 0) {
netValue = netValue / ((taxRate / 100) + 1);
}
document.forms["new_product"].products_price.value = doRound(netValue, 4);
}
//--></script>
<?php
// echo $type_admin_handler;
echo zen_draw_form('new_product', $type_admin_handler , 'cPath=' . $cPath . (isset($_GET['product_type']) ? '&product_type=' . $_GET['product_type'] : '') . (isset($_GET['pID']) ? '&pID=' . $_GET['pID'] : '') . '&action=new_product_preview' . (isset($_GET['page']) ? '&page=' . $_GET['page'] : ''), 'post', 'enctype="multipart/form-data"'); ?>
<table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td><table border="0" width="100%" cellspacing="0" cellpadding="0">
<tr>
<td class="pageHeading"><?php echo sprintf(TEXT_NEW_PRODUCT, zen_output_generated_category_path($current_category_id)); ?></td>
<td class="pageHeading" align="right"><?php echo zen_draw_separator('pixel_trans.gif', HEADING_IMAGE_WIDTH, HEADING_IMAGE_HEIGHT); ?></td>
</tr>
</table></td>
</tr>
<tr>
<td><?php echo zen_draw_separator('pixel_trans.gif', '1', '10'); ?></td>
</tr>
<tr>
<td class="main" align="right"><?php echo zen_draw_hidden_field('products_date_added', (zen_not_null($pInfo->products_date_added) ? $pInfo->products_date_added : date('Y-m-d'))) . zen_image_submit('button_preview.gif', IMAGE_PREVIEW) . ' <a href="' . zen_href_link(FILENAME_CATEGORIES, 'cPath=' . $cPath . (isset($_GET['pID']) ? '&pID=' . $_GET['pID'] : '') . (isset($_GET['page']) ? '&page=' . $_GET['page'] : '')) . '">' . zen_image_button('button_cancel.gif', IMAGE_CANCEL) . '</a>'; ?></td>
</tr>
<tr>
<td><table border="0" cellspacing="0" cellpadding="2">
<?php
// show when product is linked
if (zen_get_product_is_linked($_GET['pID']) == 'true' and $_GET['pID'] > 0) {
?>
<tr>
<td class="main"><?php echo TEXT_MASTER_CATEGORIES_ID; ?></td>
<td class="main">
<?php
// echo zen_draw_pull_down_menu('products_tax_class_id', $tax_class_array, $pInfo->products_tax_class_id);
echo zen_image(DIR_WS_IMAGES . 'icon_yellow_on.gif', IMAGE_ICON_LINKED) . ' ';
echo zen_draw_pull_down_menu('master_category', zen_get_master_categories_pulldown($_GET['pID']), $pInfo->master_categories_id); ?>
</td>
</tr>
<?php } else { ?>
<tr>
<td class="main"><?php echo TEXT_MASTER_CATEGORIES_ID; ?></td>
<td class="main"><?php echo TEXT_INFO_ID . ($_GET['pID'] > 0 ? $pInfo->master_categories_id . ' ' . zen_get_category_name($pInfo->master_categories_id, $_SESSION['languages_id']) : $current_category_id . ' ' . zen_get_category_name($current_category_id, $_SESSION['languages_id'])); ?>
</tr>
<?php } ?>
<tr>
<td colspan="2" class="main"><?php echo TEXT_INFO_MASTER_CATEGORIES_ID; ?></td>
</tr>
<tr>
<td colspan="2"><?php echo zen_draw_separator('pixel_trans.gif', '100%', '2'); ?></td>
</tr>
<?php
// hidden fields not changeable on products page
echo zen_draw_hidden_field('master_categories_id', $pInfo->master_categories_id);
echo zen_draw_hidden_field('products_discount_type', $pInfo->products_discount_type);
echo zen_draw_hidden_field('products_discount_type_from', $pInfo->products_discount_type_from);
echo zen_draw_hidden_field('products_price_sorter', $pInfo->products_price_sorter);
?>
<tr>
<td colspan="2" class="main" align="center"><?php echo (zen_get_categories_status($current_category_id) == '0' ? TEXT_CATEGORIES_STATUS_INFO_OFF : '') . ($out_status == true ? ' ' . TEXT_PRODUCTS_STATUS_INFO_OFF : ''); ?></td>
<tr>
<tr>
<td class="main"><?php echo TEXT_PRODUCTS_STATUS; ?></td>
<td class="main"><?php echo zen_draw_separator('pixel_trans.gif', '24', '15') . ' ' . zen_draw_radio_field('products_status', '1', $in_status) . ' ' . TEXT_PRODUCT_AVAILABLE . ' ' . zen_draw_radio_field('products_status', '0', $out_status) . ' ' .
Bookmarks