Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Support Thread for Price Match


Recommended Posts

I have figured out the problem - you must be a LOGGED IN, REGISTERED user! Which is a good thing, but I need to add a notice to the page so the customers know that.

 

Or is there a way to send them to the log in page instead of the cookies page when they click the link?

Hmmm...

 

Thanks!

K

 

 

Hurm...But for my website..Customer who did not register/ login also can request for the pricematch...How did you do to require the customer to be logged in & registered? :thumbsup:

Edited by Rezolles_Net
Link to comment
Share on other sites

  • 2 weeks later...

Hi,

 

Is it possible to show the price in the /catalog/pricematch.php file tax inclusive?

For now I have only 1 tax so I wanted to multiply my variable with 1,21 (because tax=21%)

 

In the file are the following codes:

 

$this_Price = $_REQUEST['price1'];

 

....

 

<tr>

<td><?php echo PRICEMATCH_OUR_PRICE; ?></td>

<td><input type="hidden" name="Price" size="10" value="<?php echo to_money($this_Price); ?>"><?php echo to_money($this_Price); ?></td>

</tr>

 

 

 

I wanted to add after $this_Price = $_REQUEST['price1'];, $this_Price2 = $this_Price*1,21; and use that variable then in my output....

 

But everything what I try it doesn't work. I think it is easy to solve but I'm not very good with variables

Can anyone help?

Edited by Rabaeys
Link to comment
Share on other sites

  • 9 months later...
  • 2 weeks later...
has anyone any answer to how i can get the price to show the VAT included?

 

In the product_info.php file pricematch entry replace

 

$this_Price = $product_info['products_price'];

 

with

 

if ($new_price = tep_get_products_special_price($product_info['products_id'])) {

$this_Price = $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id']));

} else {

$this_Price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));

}

 

This works for me using the VAT price it also shows special prices.

 

You can see it working at http://www.gr8fires.co.uk

Link to comment
Share on other sites

  • 2 weeks later...

Hello Tross,

 

I do not have changed unfortunately functioned. Does it have still which with the language to do?

 

German code ? English code 1 ?

 

echo "\"java script:popupPricematch('pricematch.php?code1=" . $this_Code . "&product1=" . $this_Product . "&price1=" . $this_Price . "')\"";
Link to comment
Share on other sites

  • 4 weeks later...
Hello Tross,

 

I do not have changed unfortunately functioned. Does it have still which with the language to do?

 

German code ? English code 1 ?

 

 

After you have installed pricematch. Search catalog/product_info.php and find:-

 

$this_Price = $product_info['products_price'];

 

replace it with

 

if ($new_price = tep_get_products_special_price($product_info['products_id'])) {

$this_Price = $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id']));

} else {

$this_Price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));

}

 

This has to be entered into the product_info.php file in root folder of your shop, not in the language folder so it doesn't matter what language your shop is using.

 

Regards

 

Tross

Link to comment
Share on other sites

I have also noticed an exploit which you can change the price easily on pricematch php..

 

For example:

 

Click on pricematch on product_info.php > new pricematch window opens > copy the url and paste into a new browser window>change-price-to-whatever-you-like-and-hope-store-staff-do-not-check!!

 

Is there a way to make it more robust?

 

 

PS what happened to the TAX Round fix I added before this post, people might need that!!?

Edited by chrish123
Link to comment
Share on other sites

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

So there are still some unresolved issues with this. The first one that is a majorly important one for me is that not all the products with the pricematch feature work when you click the link to fill out the form. I've checked to see if form conflicts with a special or free shipping but it doesn't. Basically sometimes it works, sometimes it doesn't. Simple as that.

 

The second issue, which isn't too big of a concern for right now is that when you click the form, if a product is on special it still uses the higher price in the form.

 

Those are the major issues i've run into thus far.

Any help will be greatly appreciated.

Jeffrey

Link to comment
Share on other sites

  • 2 months later...

So there are still some unresolved issues with this. The first one that is a majorly important one for me is that not all the products with the pricematch feature work when you click the link to fill out the form. I've checked to see if form conflicts with a special or free shipping but it doesn't. Basically sometimes it works, sometimes it doesn't. Simple as that.

 

The second issue, which isn't too big of a concern for right now is that when you click the form, if a product is on special it still uses the higher price in the form.

 

Those are the major issues i've run into thus far.

Any help will be greatly appreciated.

Jeffrey

 

 

 

Everything seems to work on my website with this contribution; only one question. The price being pulled to the pricematch popup is the original price and not the special price. Anyone know how to make it pull the specail price? Thanks!

 

-Travis

Link to comment
Share on other sites

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

I hope someone can help. I have a templated version of oscommerce and cant seem to get this to work.

 

Can someone please look at my product_info.php file and let me know how to edit it. Thanks a million!

 

<?php
/*
 $Id: product_info.php 1739 2007-12-20 00:52:16Z hpdl $

 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 require('includes/application_top.php');

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

 $product_check_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
 $product_check = tep_db_fetch_array($product_check_query);
?>
<!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 type="text/javascript" src="iepngfix_tilebg.js"></script>
<style type="text/css">
.ie6_png 			{behavior: url("iepngfix.htc") }
.ie6_png img		{behavior: url("iepngfix.htc") }
.ie6_png input		{behavior: url("iepngfix.htc") }
</style>
<!--[if IE]>
  <script type="text/javascript" src="ie_png.js"></script>
  <script type="text/javascript">
      ie_png.fix('.png');
  </script>
<![endif]-->
<script language="javascript"><!--
function popupWindow(url) {
 window.open(url,'popupWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=yes,copyhistory=no,width=100,height=100,screenX=150,screenY=150,top=150,left=150')
}
//--></script>
</head>
<body>
<!-- header //-->
<?php require(DIR_WS_INCLUDES . 'header.php'); ?>
<!-- header_eof //-->

<!-- body //-->
<table border="0" class="<?php echo MAIN_TABLE; ?>" cellspacing="0" cellpadding="0">
<tr>
   <td class="<?php echo BOX_WIDTH_TD_LEFT; ?>"><table border="0" class="<?php echo BOX_WIDTH_LEFT; ?>" cellspacing="0" cellpadding="0">
<!-- left_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_left.php'); ?>
<!-- left_navigation_eof //-->
   </table></td>
<!-- body_text //-->
   <td class="<?php echo CONTENT_WIDTH_TD; ?>"><?php echo panel_top(); ?><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?>



<?php
 if ($product_check['total'] < 1) {
?>
<?php echo tep_draw_top();?>

<?php echo tep_draw_title_top();?>

			<?php echo TEXT_PRODUCT_NOT_FOUND; ?>

<?php echo tep_draw_title_bottom();?>

<?php echo tep_draw1_top();?>

<?php echo tep_draw_infoBox2_top();?>

		<table border="0" width="100%" cellspacing="0" cellpadding="2">
			<tr><td align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td></tr>
           </table>

<?php echo tep_draw_infoBox2_bottom();?>

<?php echo tep_draw1_bottom();?>

<?php echo tep_draw_bottom();?>
<?php
 } else {
   $product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_quantity, p.products_image, pd.products_url, p.products_price, p.products_tax_class_id, p.products_date_added, p.products_date_available, p.manufacturers_id from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pd.products_id = p.products_id and pd.language_id = '" . (int)$languages_id . "'");
   $product_info = tep_db_fetch_array($product_info_query);

   tep_db_query("update " . TABLE_PRODUCTS_DESCRIPTION . " set products_viewed = products_viewed+1 where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and language_id = '" . (int)$languages_id . "'");

   if ($new_price = tep_get_products_special_price($product_info['products_id'])) {
     $products_price2 = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s><br><span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';
   } else {
     $products_price2 = '<span class="productSpecialPrice">'.$currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])).'</span>';
   }

   if ($new_price = tep_get_products_special_price($product_info['products_id'])) {
     $products_price = '<s>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</s>   <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>';
   } else {
     $products_price = '<span class="productSpecialPrice">'.$currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])).'</span>';
   }

   if (tep_not_null($product_info['products_model'])) {
     $products_name = $product_info['products_name'] . '<br> <span class="smallText">[' . $product_info['products_model'] . ']</span>';
   } else {
     $products_name = $product_info['products_name'];
   }
?>

<?php echo tep_draw_top();?>

<?php echo tep_draw_title_top();?>

			<div class="left_part"><?php echo $breadcrumb->trail(' » ')?> »  <?php echo $products_name; ?></div><div class="right_part"><?php echo $products_price2; ?></div>

<?php echo tep_draw_title_bottom();?>

<?php echo tep_draw1_top();?>

	<?php /*  echo tep_draw2_top();  */?>

<?php /*  echo tep_pixel_trans();  */?>

<?php
   if (tep_not_null($product_info['products_image'])) {
?>



<div class="main prod_info" style="width:<?php echo (SMALL_IMAGE_WIDTH +23);?>px;">

<?php echo tep_draw_prod_pic_top();?><script language="javascript"><!--
document.write('<?php echo '<a href="javascript:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, '') . '</a>'; ?>');
//--></script><noscript>
<?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, '') .  '</a>'; ?></noscript><?php echo tep_draw_prod_pic_bottom();?>

<script language="javascript"><!--
document.write('<?php echo '<a class="enlarge" href="javascript:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');
//--></script>
<noscript><?php echo '<a class="enlarge" href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank">' .  TEXT_CLICK_TO_ENLARGE . '</a>'; ?></noscript></div>	
<div class="main"><div class="desc"><?php echo stripslashes($product_info['products_description']); ?></div><br>
			  <br><div><?php echo $products_price?></div></div><br>
<div style="clear:both;"></div>
<?php
   }
?>


	<?php /*  echo tep_draw2_bottom();  */?>

<div class="prod_line_x padd_gg"><?php echo tep_draw_separator('spacer.gif', '1', '1'); ?></div>

	<?php echo tep_draw2_top(); ?>

<?php
   $products_attributes_query = tep_db_query("select count(*) as total from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "'");
   $products_attributes = tep_db_fetch_array($products_attributes_query);
   if ($products_attributes['total'] > 0) {
?>


         <table border="0" cellspacing="4" cellpadding="2">
           <tr>
             <td class="main" colspan="2"><strong class="strong"><?php echo TEXT_PRODUCT_OPTIONS; ?></strong></td>
           </tr>
<?php
     $products_options_name_query = tep_db_query("select distinct popt.products_options_id, popt.products_options_name from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_ATTRIBUTES . " patrib where patrib.products_id='" . (int)$HTTP_GET_VARS['products_id'] . "' and patrib.options_id = popt.products_options_id and popt.language_id = '" . (int)$languages_id . "' order by popt.products_options_name");
     while ($products_options_name = tep_db_fetch_array($products_options_name_query)) {
       $products_options_array = array();
       $products_options_query = tep_db_query("select pov.products_options_values_id, pov.products_options_values_name, pa.options_values_price, pa.price_prefix from " . TABLE_PRODUCTS_ATTRIBUTES . " pa, " . TABLE_PRODUCTS_OPTIONS_VALUES . " pov where pa.products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "' and pa.options_id = '" . (int)$products_options_name['products_options_id'] . "' and pa.options_values_id = pov.products_options_values_id and pov.language_id = '" . (int)$languages_id . "'");
       while ($products_options = tep_db_fetch_array($products_options_query)) {
         $products_options_array[] = array('id' => $products_options['products_options_values_id'], 'text' => $products_options['products_options_values_name']);
         if ($products_options['options_values_price'] != '0') {
           $products_options_array[sizeof($products_options_array)-1]['text'] .= ' (' . $products_options['price_prefix'] . $currencies->display_price($products_options['options_values_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) .') ';
         }
       }

       if (isset($cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']])) {
         $selected_attribute = $cart->contents[$HTTP_GET_VARS['products_id']]['attributes'][$products_options_name['products_options_id']];
       } else {
         $selected_attribute = false;
       }
?>
           <tr>
             <td class="main"><?php echo $products_options_name['products_options_name'] . ':'; ?></td>
             <td class="main"><?php echo tep_draw_pull_down_menu('id[' . $products_options_name['products_options_id'] . ']', $products_options_array, $selected_attribute); ?></td>
           </tr>
<?php
     }
?>
         </table>
<?php 
   }
?>


<?php
   $reviews_query = tep_db_query("select count(*) as count from " . TABLE_REVIEWS . " where products_id = '" . (int)$HTTP_GET_VARS['products_id'] . "'");
   $reviews = tep_db_fetch_array($reviews_query);
   if ($reviews['count'] > 0) {
?>
   <table cellpadding="0" cellspacing="4" border="0">
  <tr>
       <td class="main"><?php echo TEXT_CURRENT_REVIEWS . ' ' . $reviews['count']; ?></td>
     </tr>
     <tr>
       <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
     </tr>
</table>
<?php
   }

   if (tep_not_null($product_info['products_url'])) {
?>
   <table cellpadding="0" cellspacing="4" border="0">
  <tr>
       <td class="main"><?php echo sprintf(TEXT_MORE_INFORMATION, tep_href_link(FILENAME_REDIRECT, 'action=url&goto=' . urlencode($product_info['products_url']), 'NONSSL', true, false)); ?></td>
     </tr>
</table>

<?php echo tep_pixel_trans();?>

<?php
   }

   if ($product_info['products_date_available'] > date('Y-m-d H:i:s')) {
?>

<?php echo tep_pixel_trans();?>

<table cellpadding="0" cellspacing="4" border="0">    
  <tr>
       <td class="main"><?php echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available'])); ?></td>
     </tr>
</table>
<?php
   } else {
?>

<?php echo tep_pixel_trans();?>

  <table cellpadding="0" cellspacing="4" border="0">   
  <tr>
       <td class="main"><?php echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added'])); ?></td>
     </tr>
</table>
<?php
   }
?>

<?php echo tep_draw2_bottom(); ?>

<?php echo tep_pixel_trans();?> 

<div class="prod_line_x padd_gg"><?php echo tep_draw_separator('spacer.gif', '1', '1'); ?></div>

<?php echo tep_draw2_top(); ?>

<?php echo tep_pixel_trans();?>
<?php echo tep_pixel_trans();?>

<?php  /* echo tep_draw_infoBox2_top(); */ ?>

		<table border="0" width="100%" cellspacing="0" cellpadding="0"><tr>
               <td class="main button_marg"><?php echo '<a href="' . tep_href_link(FILENAME_PRODUCT_REVIEWS, tep_get_all_get_params()) . '">' . tep_image_button('button_reviews.gif', IMAGE_BUTTON_REVIEWS) . '</a>'; ?></td>
               <td class="main button_marg" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_add_to_cart1.gif', IMAGE_BUTTON_IN_CART); ?></td>
             </tr>
           </table>

<?php  /* echo tep_draw_infoBox2_bottom(); */ ?>

	<?php echo tep_draw2_bottom(); ?>


<?php echo tep_draw1_bottom();?>

<?php
   if ((USE_CACHE == 'true') && empty($SID)) {
     echo tep_cache_also_purchased(3600);
   } else {
    include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);
   }
 }
?>

<?php echo tep_draw_bottom();?>	

</form></td>
<!-- body_text_eof //-->
<td class="<?php echo BOX_WIDTH_TD_RIGHT; ?>"><table border="0" class="<?php echo BOX_WIDTH_RIGHT; ?>" cellspacing="0" cellpadding="0">
<!-- right_navigation //-->
<?php require(DIR_WS_INCLUDES . 'column_right.php'); ?>
<!-- right_navigation_eof //-->
   </table></td>
 </tr>
</table>
<!-- body_eof //-->

<!-- footer //-->
<?php require(DIR_WS_INCLUDES . 'footer.php'); ?>
<!-- footer_eof //-->
</body>
</html>
<?php require(DIR_WS_INCLUDES . 'application_bottom.php'); ?>

Link to comment
Share on other sites

  • 3 weeks later...

Hello,

 

I've been using this contribution for quite awhile now.. no problems installing or having it work.

 

I have one problem with it tho: when I have multiple currencies in the store, say:

 

- for English language - USD (that's the main currency in the store)

- for German language - EUR (the price in EUR is calculated on the basis of forex USD->EUR).

 

When a customer uses English to send a pricematch request - thier suggested price is say 10 USD and pricematch request email shows 10 USD.

 

BUT

 

When a customer uses German to send a pricematch request - their suggested price is say 10 EUR but the email will show 6,65 EUR (oscommerce thinks 10 means 10 USD, so it converts those 10USD into EURO; 10USD * conversion rate 0,665 = 6,65 EUR).

 

This happens regardless of what "Switch To Default Language Currency" is set to (true/false).

 

Not sure if I am making myself clear :/

 

Oscommerce addons support multiple languages, right? So I would like this addon to support multiple currencies :)

 

Can this be done?

Link to comment
Share on other sites

  • 3 weeks later...

After you have installed pricematch. Search catalog/product_info.php and find:-

 

$this_Price = $product_info['products_price'];

 

replace it with

 

if ($new_price = tep_get_products_special_price($product_info['products_id'])) {

$this_Price = $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id']));

} else {

$this_Price = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));

}

 

This has to be entered into the product_info.php file in root folder of your shop, not in the language folder so it doesn't matter what language your shop is using.

 

Regards

 

Tross

 

 

This is exactly what I needed to pull in my special prices so thanks. One question though is that the products that are over $100 and less than $1,000 have a leading comma like this $,100.00. Do you know how to fix this?

Edited by djdeuce
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...