Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Category Link Parse error


Guest

Recommended Posts

I have 17 categories in my browse by category box on my index page and all links are working great except one.

 

The error when this link is clicked reads:

Parse error: syntax error, unexpected T_NEW, expecting ')' in ....../includes/boxes/categories.php on line 150

 

I can't understand what this could be though as all other links in the category box are working fine.

 

Could anybody help please?

Link to comment
Share on other sites

I'm gonna take a guess and say the link that does not work is the last one?

If you post your catalog/includes/boxes/categories.php maybe someone can spot the problem.

Link to comment
Share on other sites

The link that's causing the problem is the 4th from last.

Here is the code for catalog/includes/boxes/categories.php as requested.

 

Any help is much appreciated.

 

<?php
/*
 $Id: categories.php,v 1.25 2003/07/09 01:13:58 hpdl Exp $

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

 Copyright (c) 2003 osCommerce

 Released under the GNU General Public License
*/

 function tep_show_category($counter) {
global $tree, $categories_string, $cPath_array;

for ($i=0; $i<$tree[$counter]['level']; $i++) {
  $categories_string .= "  ";
}

$categories_string .= '<a href="';

if ($tree[$counter]['parent'] == 0) {
  $cPath_new = 'cPath=' . $counter;
} else {
  $cPath_new = 'cPath=' . $tree[$counter]['path'];
}

$categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">';

if (isset($cPath_array) && in_array($counter, $cPath_array)) {
  $categories_string .= '<b>';
}

// display category name
if ($tree[$counter]['level'] == 0) { 
$categories_string .= '<img class="cats" src="' . $tree[$counter]['image'] . '">';
}
else $categories_string .= $tree[$counter]['name'];

if (isset($cPath_array) && in_array($counter, $cPath_array)) {
  $categories_string .= '</b>';
}

if (tep_has_category_subcategories($counter)) {
  $categories_string .= '';
}

$categories_string .= '</a>';

if (SHOW_COUNTS == 'true') {
  $products_in_category = tep_count_products_in_category($counter);
  if ($products_in_category > 0) {
	$categories_string .= ' (' . $products_in_category . ')';
  }
}

$categories_string .= '<br>';

if ($tree[$counter]['next_id'] != false) {
  tep_show_category($tree[$counter]['next_id']);
}
 }
?>
<!-- categories //-->
	  <tr>
		<td>
<?php
 $info_box_contents = array();
 $info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES);

 new infoBoxHeading($info_box_contents, false, false);

 $categories_string = '';
 $tree = array();

 $categories_query = tep_db_query("select c.categories_id, cd.categories_name, 
c.parent_id, cd.categories_description_image from " . TABLE_CATEGORIES . " c, " 
. TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and 
c.categories_id = cd.categories_id and cd.language_id='" . (int)$languages_id 
."' order by sort_order, cd.categories_name");while ($categories = 
tep_db_fetch_array($categories_query)) { 
$tree[$categories['categories_id']] = array('name' => 
$categories['categories_name'],					   
'parent' => $categories['parent_id'],				  
 'level' => 0,					   
'path' => $categories['categories_id'],				 
  'next_id' => false,					 
 'image' => DIR_WS_IMAGES . $categories['categories_description_image']);

if (isset($parent_id)) {
  $tree[$parent_id]['next_id'] = $categories['categories_id'];
}

$parent_id = $categories['categories_id'];

if (!isset($first_element)) {
  $first_element = $categories['categories_id'];
}
 }

 //------------------------
 if (tep_not_null($cPath)) {
$new_path = '';
reset($cPath_array);
while (list($key, $value) = each($cPath_array)) {
  unset($parent_id);
  unset($first_id);
  $categories_query = tep_db_query("select c.categories_id, cd.categories_name, 
c.parent_id, cd.categories_description_image from " . TABLE_CATEGORIES . " c, " 
. TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '" . (int)$value . "' 
and c.categories_id = cd.categories_id and cd.language_id='" . 
(int)$languages_id ."' order by sort_order, cd.categories_name");  if 
(tep_db_num_rows($categories_query)) {   $new_path .= $value;   
while ($row = tep_db_fetch_array($categories_query)) {	
$tree[$row['categories_id']] = array('name' => $row['categories_name'], 
				  'parent' => 
$row['parent_id'],					   'level' 
=> $key+1,					   'path' => 
$new_path . '_' . $row['categories_id'],				  
 'next_id' => false,					  
'image' => DIR_WS_IMAGES . $categories['categories_description_image']);

	  if (isset($parent_id)) {
		$tree[$parent_id]['next_id'] = $row['categories_id'];
	  }

	  $parent_id = $row['categories_id'];

	  if (!isset($first_id)) {
		$first_id = $row['categories_id'];
	  }

	  $last_id = $row['categories_id'];
	}
	$tree[$last_id]['next_id'] = $tree[$value]['next_id'];
	$tree[$value]['next_id'] = $first_id;
	$new_path .= '_';
  } else {
	break;
  }
}
 }
 tep_show_category($first_element); 

 $info_box_contents = array();
 $info_box_contents[] = array('text' => $categories_string);

 $info_box_contents[] = array('align' => 'center',
						   'text'  => '<font size=-2><a href="' . tep_href_link(FILENAME_ALLPRODS, '', 'NONSSL')
new infoBox($info_box_contents);
?>
<table border="0" cellspacing="0" cellpadding="0" width="125">
<tr>
  <td align="center"><img src="images/footer1.gif"></td>
</tr>
 </table>
		</td>
	  </tr>
<!-- categories_eof //-->

Link to comment
Share on other sites

Not sure if this is the correct answer so make sure you backup your file first.

I think this part

  $info_box_contents[] = array('align' => 'center',
						   'text'  => '<font size=-2><a href="' . tep_href_link(FILENAME_ALLPRODS, '', 'NONSSL')

should be

  $info_box_contents[] = array('align' => 'center',
						   'text'  => '<font size=-2><a href="' . tep_href_link(FILENAME_ALLPRODS, '', 'NONSSL');

If that isn't right then restore the backup and hopefully someone can spot the problem for you.

Link to comment
Share on other sites

Not sure if this is the correct answer so make sure you backup your file first.

I think this part

  $info_box_contents[] = array('align' => 'center',
						   'text'  => '<font size=-2><a href="' . tep_href_link(FILENAME_ALLPRODS, '', 'NONSSL')

should be

  $info_box_contents[] = array('align' => 'center',
						   'text'  => '<font size=-2><a href="' . tep_href_link(FILENAME_ALLPRODS, '', 'NONSSL');

If that isn't right then restore the backup and hopefully someone can spot the problem for you.

 

Thank you but with that code the error message is:

 

Parse error: syntax error, unexpected ';', expecting ')' in /catalog/includes/boxes/categories.php on line 149

Link to comment
Share on other sites

Sorry try this

  $info_box_contents[] = array('align' => 'center',
						   'text'  => '<font size=-2><a href="' . tep_href_link(FILENAME_ALLPRODS, '', 'NONSSL'));

If you notice in your original code you have 2 " ( " and only 1 " ) ". I still think that you will need th " ; " as well at the end of that.

Link to comment
Share on other sites

Sorry try this

  $info_box_contents[] = array('align' => 'center',
						   'text'  => '<font size=-2><a href="' . tep_href_link(FILENAME_ALLPRODS, '', 'NONSSL'));

If you notice in your original code you have 2 " ( " and only 1 " ) ". I still think that you will need th " ; " as well at the end of that.

 

That's fantastic. All links in categories box now working perfectly. Thank you very much.

Link to comment
Share on other sites

Archived

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

×
×
  • Create New...