Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Problem with Product_info And Language


ramoniacs

Recommended Posts

my shop is not changing the language of the product description in index.php... my store is in Portuguese. the title is in Portuguese, but the description is in English, when I click on the page to the product description is in Portuguese. I've changed the language_id in phpmyadmin but the admin did not recognize the products and happened several problems. I think that is the error code product_info or upcomming_products.php in folder includes / modules.

<?php
/*
$Id: product_info.php,v 1.97 2003/07/01 14:34:54 hpdl Exp $

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);

// Simple multi image addon
$image_group = TINY_IMAGE_GROUP_SIZE; //Number of images to show per row/column
$vertical_format = (ADDITIONAL_IMAGE_FORMAT == 'vertical');
$max_title_length = 40; //Set the maximm length of popup titles before they are broken into multiple lines.
$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, p.products_image_array, 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);
$products_image_array = unserialize($product_info['products_image_array']);
if (!is_array($products_image_array)) $products_image_array = array();
// EOF Simple multi image addon
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php echo HTML_PARAMS; ?>>
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<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"><!--
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>
<!-- Simple multi image addon -->
<script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.js"></script>
<script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.fancybox.js"></script>
<script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.easing.js"></script>
<script type="text/javascript" src="<?php echo DIR_WS_IMAGES ?>js/jquery.easydrag.handler.beta2.js"></script>
<link rel="stylesheet" href="<?php echo DIR_WS_IMAGES ?>js/fancybox.css" type="text/css" media="screen">
<script type="text/javascript">
$(document).ready(function() {
$("div#fancy a").fancybox({
'zoomSpeedIn': 800,
'zoomSpeedOut': 700,
'imageScale' : true,
'centeronscroll': true,
'hideOnContentClick' : false,
'overlayShow': <?php echo (DIM_BACKGROUND == 'true' ? 'true' : 'false'); ?>,
'overlayOpacity': <?php echo (BKG_LUMA/10); ?>,
'zoomOpacity': true,
<?php if (SWING_POPUP == 'true') echo "'easingIn' : 'easeOutBack',"; ?>
'hideOnContentClick': false

});
<?php if (DRAG_POPUP == 'true') echo '$("#fancy_outer").easydrag();'; ?>
});

</script>
<style type="text/css">
<?php if (SHOW_NAV == 'true') echo 'span#fancy_left_ico {left: 20px;} span#fancy_right_ico {right: 20px;}';
switch (POS_NAV) {
case 'top':
echo 'span.fancy_ico { top: 38px; }';
break;
case 'bottom':
echo 'span.fancy_ico { bottom: 20px; }';
break;
default:
echo 'span.fancy_ico { top: 50%; }';
break;
}
?>

</style>
<!-- EOF Simple multi image addon -->
</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="0" cellpadding="0">
<tr>
<!-- body_text //-->
<td width="100%" valign="top"><?php echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=add_product')); ?>

 <table cellspacing=0 cellpadding=0>
 <tr><td height=38 class=cy2><b>      <?php echo HD15; ?></b></td></tr>
 <tr><td><img src=images/m35.gif width=526 height=4></td></tr>
 </table>

<table border="0" width="100%" cellspacing="0" cellpadding="0">
<?php
// Simple multi image addon
if (!tep_db_num_rows($product_info_query)) {
// EOF Simple multi image addon
?>
 <tr>
 <td><?php new infoBox(array(array('text' => TEXT_PRODUCT_NOT_FOUND))); ?></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 align="right"><?php echo '<a href="' . tep_href_link(FILENAME_DEFAULT) . '">' . tep_image_button('button_continue.gif', IMAGE_BUTTON_CONTINUE) . '</a>'; ?></td>
		 <td width="10"><?php echo tep_draw_separator('pixel_trans.gif', '10', '1'); ?></td>
		 </tr>
	 </table></td>
	 </tr>
 </table></td>
 </tr>
<?php
} else {
// Simple multi image addon section moved

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_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 = $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id']));
}

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'];
}
?>
 <tr><td class=bg3>


		 <table cellspacing=0 cellpadding=0>
		 <tr><td width=242 align=center valign=middle>

<?php
if (tep_not_null($product_info['products_image'])) {
?>
	 <!-- Simple multi image addon -->
<div id="fancy">
<table border="0" cellspacing="0" cellpadding="2" align="right">
	 <tr>
		 <td align="center" class="smallText">

<?php if (strlen($product_info['products_name']) > $max_title_length) { $title = wordwrap(htmlspecialchars($product_info['products_name']), $max_title_length, '<br>');
	 } else { $title = htmlspecialchars($product_info['products_name']); }
$m_source = ''; $thumb = (class_exists('oscthumb') && CFG_MASTER_SWITCH == 'On'); if ($thumb) { preg_match('/"([^"]+)"/',htmlentities ( tep_image(DIR_WS_IMAGES . $product_info['products_image'],'','','','','',5), ENT_NOQUOTES), $image); $m_source=str_replace('&','&',$image[1]); }
echo '<a rel="image_group" title="'.$title.'" href="' . ($m_source ? $m_source : DIR_WS_IMAGES . $product_info['products_image']) . '" alt="' . $product_info['products_name'] . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"', false, 5) . '<br /></a>';
		 if(!$vertical_format) { echo ''; $row = 1; reset($products_image_array); foreach($products_image_array as $value) {
if ($thumb) {
$source = ''; preg_match('/"([^"]+)"/',htmlentities ( tep_image(DIR_WS_IMAGES . $value,'','','','','',5), ENT_NOQUOTES), $image); $source=str_replace('&','&',$image[1]);
}
echo '<a rel="image_group" title="'.$title.'" href="' . ($source ? $source : DIR_WS_IMAGES . $value) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $value, $product_info['products_name'], TINY_IMAGE_WIDTH, TINY_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '</a>';

++$row; if ($row > $image_group) { echo '<br />'; $row = 1; } } }
echo '</td>';
if($vertical_format) { echo '<td>'; $row = 1; reset($products_image_array); foreach($products_image_array as $value) {
if ($thumb) {
$source = ''; preg_match('/"([^"]+)"/',htmlentities ( tep_image(DIR_WS_IMAGES . $value,'','','','','',5), ENT_NOQUOTES), $image); $source=str_replace('&','&',$image[1]);
}
echo '<a rel="image_group" title="'.$title.'" href="' . ($source ? $source : DIR_WS_IMAGES . $value) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $value, $product_info['products_name'], TINY_IMAGE_WIDTH, TINY_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br />' . '</a>';

++$row; if ($row > $image_group) { echo '</td><td>'; $row = 1; } } echo '</td>'; } ?>


	 </tr><?php echo '<tr><td class="smallText">' . TEXT_CLICK_TO_ENLARGE . '</td></tr>'; ?>
	 </table>
</div>
<!-- EOF Simple multi image addon -->

		 </td>
	 </tr>
	 </table>
<?php
}
?>
		 </td>
			 <td width=1 bgcolor=#CFCFCF></td>
			 <td width=279 valign=top>
			 <table cellspacing=0 cellpadding=0 width=228 align=center>
				 <tr><td height=10 colspan=2></td></tr>
				 <tr><td colspan=2 class=cy2><b><?= strtoupper($products_name); ?></b><br><br></td></tr>
				 <tr><td colspan=2><b>Item #:</b>  <?= $products_id; ?><br><br class=px4>
<?
if ($product_info['products_date_available'] > date('Y-m-d H:i:s'))
 echo sprintf(TEXT_DATE_AVAILABLE, tep_date_long($product_info['products_date_available']));
else
 echo sprintf(TEXT_DATE_ADDED, tep_date_long($product_info['products_date_added']));
?>				
				 </td></tr>
				 <tr><td height=15 colspan=2></td></tr>
				 <tr><td colspan=2 background=images/m45.gif width=228 height=1></td></tr>
				 <tr><td height=15 colspan=2></td></tr>
				 <tr><td class=cy1><?php echo $products_price; ?> </td><td><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_BUY_NOW); ?></td></tr>				
				 <tr><td height=15 colspan=2></td></tr>
			 </table>
		 </td></tr>
		 <tr><td colspan=2 height=10></td></tr>
		 </table>

		 <table cellspacing=0 cellpadding=0>
		 <tr><td><img src=images/m37.gif width=526 height=1></td></tr>
		 </table>

		 <table cellspacing=0 cellpadding=0>
		 <tr><td width=30></td><td width=400><br><b><?php echo HD16; ?></b><br><br class=px3>
		 <?php echo stripslashes($product_info['products_description']); ?>			
		 <br><br></td></tr>
		 </table>


 </td></tr>
 <tr><td><img src=images/m43.gif width=526 height=7></td></tr>
 <tr><td>

<?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="0" cellpadding="2">
	 <tr>
		 <td class="main" colspan="2"><?php echo TEXT_PRODUCT_OPTIONS; ?></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
}
?>
 </td>
 </tr>
 <tr>
 <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
 </tr>
<?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) {
?>
 <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>
<?php
}

if (tep_not_null($product_info['products_url'])) {
?>
 <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>
 <tr>
 <td><?php echo tep_draw_separator('pixel_trans.gif', '100%', '10'); ?></td>
 </tr>
<?php
}

?>
<!--
 <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 '<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" align="right"><?php echo tep_draw_hidden_field('products_id', $product_info['products_id']) . tep_image_submit('button_in_cart.gif', IMAGE_BUTTON_IN_CART); ?></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>
<?php
/*
if ((USE_CACHE == 'true') && empty($SID)) {
 echo tep_cache_also_purchased(3600);
} else {
 include(DIR_WS_MODULES . FILENAME_ALSO_PURCHASED_PRODUCTS);
}
*/
}
?>


 </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

upcoming_products.php

<?php
/*
 $Id: upcoming_products.php,v 1.24 2003/06/09 22:49:59 hpdl Exp $
 osCommerce, Open Source E-Commerce Solutions
 http://www.oscommerce.com
 Copyright (c) 2003 osCommerce
 Released under the GNU General Public License
*/
 $expected_query = tep_db_query("select p.products_id, pd.products_name, products_date_available as date_expected from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_DESCRIPTION . " pd where to_days(products_date_available) >= to_days(now()) and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by " . EXPECTED_PRODUCTS_FIELD . " " . EXPECTED_PRODUCTS_SORT . " limit " . MAX_DISPLAY_UPCOMING_PRODUCTS);
 if (tep_db_num_rows($expected_query) > 0) {
?>
<!-- upcoming_products //-->
	  <tr>
	    <td><br><table border="0" width="100%" cellspacing="0" cellpadding="2">
		  <tr>
		    <td class="tableHeading"> <?php echo TABLE_HEADING_UPCOMING_PRODUCTS; ?> </td>
		    <td align="right" class="tableHeading"> <?php echo TABLE_HEADING_DATE_EXPECTED; ?> </td>
		  </tr>
		  <tr>
		    <td colspan="2"><?php echo tep_draw_separator(); ?></td>
		  </tr>
		  <tr>
<?php
   $row = 0;
   while ($expected = tep_db_fetch_array($expected_query)) {
  $row++;
  if (($row / 2) == floor($row / 2)) {
    echo '			  <tr class="upcomingProducts-even">' . "\n";
  } else {
    echo '			  <tr class="upcomingProducts-odd">' . "\n";
  }
  echo '			    <td class="smallText"> <a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $expected['products_id']) . '">' . $expected['products_name'] . '</a> </td>' . "\n" .
	   '			    <td align="right" class="smallText"> ' . tep_date_short($expected['date_expected']) . ' </td>' . "\n" .
	   '			  </tr>' . "\n";
   }
?>
		  <tr>
		    <td colspan="2"><?php echo tep_draw_separator(); ?></td>
		  </tr>
	    </table></td>
	  </tr>
<!-- upcoming_products_eof //-->
<?php
 }
?>

Link to comment
Share on other sites

You should not be manually changing IDs in phpMyAdmin -- if you make a mistake you can really mess up your site. It should never be necessary, anyway.

 

What osC version are you using? From the dates in the two files you showed, I'm guessing 2.2 MS2 or even earlier. Is this a store that's been in use for a long time? If not, why didn't you start with the current version (2.3.3)? Did the problem start recently, perhaps triggered by a PHP or MySQL level update?

 

When you say that it's picking the wrong language, could you describe more completely what's happening? Your store supports both English and Portuguese? Is the store picking up the right language for prompts and labels (the right language support files)? Is it picking wrong database entries -- the English text when Portuguese is expected, and vice-versa, or is there some other pattern to it?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...