Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

Recommended Posts

Posted

Hey guys I downloaded a contribution that does exactly what I want, gives me tabs in my header for my main categories

 

But... and probably due to my stupidity >_< I cant get it that my left categories(with sub cats) show up at the same time :(

 

Contribution : http://www.oscommerce.com/community/contri...h,category+tabs (v2.0 full package Christophe Buchi 16 Nov 2004 )

 

I have 3 options in Admin :

 

Tabs - Gives tabs only - working

Box - Gives no tabs but standard menu - working

Both - gives tabs & side menu - Not working

 

I have come up with that because my website template has the Categories.php usually called up in column_left.php built into the header.php that I am unable to call up the both at the same time.

 

The Categories code for my left column (built into header.php) is

 

<?   // ---- CATEGORIES 2 LEVELS OPEN

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

  if(!$tree[$counter]['level']){			   

$categories_string .= $categories_string ? '<tr><td height=9></td></tr>' : '';			 

$categories_string .= '<tr><td class=ch3><a class=ch3  href=';

if ($tree[$counter]['parent'] == 0) {
  $cPath_new = 'cPath=' . $counter;
} else {
  $cPath_new = 'cPath=' . $tree[$counter]['path'];
}
$categories_string .= tep_href_link('index.php', $cPath_new) . '>';
// display categry name
$categories_string .= $tree[$counter]['name'];
$categories_string .= '</a></td></tr>';
$categories_string .= '<tr><td height=16></td></tr>';			 

  }else{  // SUBCATEGORY

$categories_string .= '<tr><td background=images/m09.gif height=1></td></tr><tr><td height=1></td></tr>';

for($i=0;$i<$tree[$counter]['le vel'];$i++)
 $categories_string .= '   ';

$categories_string .= '<tr><td> <img src=images/m08.gif width=4 height=5 align=absmiddle>   <a class=ml2  href=';   
if ($tree[$counter]['parent'] == 0) {
  $cPath_new = 'cPath=' . $counter;
} else {
  $cPath_new = 'cPath=' . $tree[$counter]['path'];
}
$categories_string .= tep_href_link('index.php', $cPath_new) . '>';
// display category name
$categories_string .= $tree[$counter]['name'];
$categories_string .= '</a></td></tr><tr><td height=1></td></tr>';
  }  

if ($tree[$counter]['next_id'] != false) {
  tep_show_category($tree[$counter]['next_id']);
}  
 }



 define(TABLE_CATEGORIES, "categories");
 define(TABLE_CATEGORIES_DESCRIPTION, "categories_description");
 $categories_string = '';
 $tree = array();

 $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id 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);

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'];
}

 }


 $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id 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))  {
$cPath_array2 = Array();	
$new_path = '';
$cPath_array2[] = $categories['categories_id'];
while (list($key, $value) = each($cPath_array2)) {
  unset($parent_id);
  unset($first_id);
  $categories_query2 = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id 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_query2)) {
	$new_path .= $value;
	while ($row = tep_db_fetch_array($categories_query2)) {
	  $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);

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

 }

 //------------------------

 $categories_string .=  '';
 tep_show_category($first_element); 
 $categories_string .=  '';

 echo $categories_string;
?>

 

any tips on how to hack the contibution to work would be greatly appreciated !!! :thumbsup:

Posted

I think the conflict is with this piece of coding on the tabs module :

 

<?php
// needed in case other part of site use same variable.
$categories_string=''; 
unset ($first_element);
unset ($prev_id);

if (CAT_TABS_SHOW_HOME) {
$foo[0]=array(
		'name' => HEADER_TITLE_TOP,
		'parent' => '',
		'level' => 0,
		'path' => '',
		'next_id' => false
	  );
$prev_id=0; $first_element=0; 		
}		

$categories_query = tep_db_query("select c.categories_id, 
										   cd.categories_name, 
										   c.parent_id 
									from " . TABLE_CATEGORIES . " c, 
										 " . TABLE_CATEGORIES_DESCRIPTION . " cd 
									where c.parent_id = '0' and 
										  c.categories_id = cd.categories_id and 
										  cd.language_id='" . $languages_id ."'
										  ".$cfg_query_and."
									order by sort_order, cd.categories_name");


while ($categories = tep_db_fetch_array($categories_query))  {
  $foo[$categories['categories_id']] = array(
		'name' => $categories['categories_name'],
		'parent' => $categories['parent_id'],
		'level' => 0,
		'path' => $categories['categories_id'],
		'next_id' => false
	  );

  if (isset($prev_id)) {
	$foo[$prev_id]['next_id'] = $categories['categories_id'];
  }

  $prev_id = $categories['categories_id'];
  if (!isset($first_element)) {
	$first_element = $categories['categories_id'];
  }
  $last_element=$categories['categories_id'];
}
show_category_tabs($first_element, $last_element); 
echo $categories_string;

?>

  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

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