jeebus Posted October 13, 2007 Share Posted October 13, 2007 I just installed a new template and I'm trying to change the subcategories so they show indented once the main category is clicked on. example Before you click on the main category it looks like this: Fitness-> Football Heart Rate Monitors Once the Fitness category is clicked the subcategories are displayed like this: Fitness-> first sub second sub Football Heart Rate Monitors What I'm looking for is the subcategories to be indented like this: Fitness-> - first sub - second sub Football Heart Rate Monitors I do not know where to change this. Any help would be much appreciated. Thanks Link to comment Share on other sites More sharing options...
jeebus Posted October 14, 2007 Author Share Posted October 14, 2007 Anyone? Link to comment Share on other sites More sharing options...
Nullachtfuffzehn Posted October 14, 2007 Share Posted October 14, 2007 That's the way the categories are usually displayed. But apparently your template has overwritten the categories box somehow, so it doesn't do it anymore. Since I don't know how your categories.php looks like I can't show you the way it could be done. Link to comment Share on other sites More sharing options...
jeebus Posted October 15, 2007 Author Share Posted October 15, 2007 Here you are... I messed with this for hours yesterday and I couldn't get it too work.... however I don't have many skills when it comes to this. Thanks for your help. <?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 .= '<tr><TD valign="middle" height="20" align="left" style="padding-left:10px;"><img src="images/marker_cat.gif" width="3" height="5" alt="" style="margin-right:5px;" /><a class="categories" 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 $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 .= '<span class="categories"> (' . $products_in_category . ')'; } } $categories_string .= '</td></tr><tr><td align="center"><img src="images/points_cat.gif" width="163" height="1"></td></tr>'; if ($tree[$counter]['next_id'] != false) { tep_show_category($tree[$counter]['next_id']); } } ?> <!-- categories //--> <tr> <td bgcolor="#FFE3A6" valign="top"> <?php $info_box_contents = array(); $info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES); new infoBoxCategoriesHeading($info_box_contents, true, true); ?> <?php $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']; } } //------------------------ 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 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); 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' => '<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" style="border:1px solid #EBAB10; border-width:0px 1px;">'.$categories_string.'</table>'); new infoBox($info_box_contents); new infoBoxCategoriesFooter(''); ?> </td> </tr> <!-- categories_eof //--> Link to comment Share on other sites More sharing options...
Nullachtfuffzehn Posted October 15, 2007 Share Posted October 15, 2007 This should do the trick: <?php /* $Id: categories.php,v 1.25 2003/07/09 01:13:58 hpdl Exp $ osCommerce, Open Source E-Commerce Solutions [url="http://www.oscommerce.com"]http://www.oscommerce.com[/url] Copyright © 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_indent_string .= " "; } $categories_string .= '<tr><TD valign="middle" height="20" align="left" style="padding-left:10px;">'. $categories_indent_string .'<img src="images/marker_cat.gif" width="3" height="5" alt="" style="margin-right:5px;" /><a class="categories" 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 $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 .= '<span class="categories"> (' . $products_in_category . ')'; } } $categories_string .= '</td></tr><tr><td align="center"><img src="images/points_cat.gif" width="163" height="1"></td></tr>'; if ($tree[$counter]['next_id'] != false) { tep_show_category($tree[$counter]['next_id']); } } ?> <!-- categories //--> <tr> <td bgcolor="#FFE3A6" valign="top"> <?php $info_box_contents = array(); $info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES); new infoBoxCategoriesHeading($info_box_contents, true, true); ?> <?php $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']; } } //------------------------ 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 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); 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' => '<table border="0" cellpadding="0" cellspacing="0" height="100%" width="100%" style="border:1px solid #EBAB10; border-width:0px 1px;">'.$categories_string.'</table>'); new infoBox($info_box_contents); new infoBoxCategoriesFooter(''); ?> </td> </tr> <!-- categories_eof //--> Link to comment Share on other sites More sharing options...
jeebus Posted October 15, 2007 Author Share Posted October 15, 2007 This should do the trick: It worked! Thank you very much... not sure if many come back on here and respond after their problems been resolved but I really appreciate your help. :thumbsup: :thumbsup: :thumbsup: :thumbsup: Thanks again. Dave Link to comment Share on other sites More sharing options...
yubnub Posted November 19, 2007 Share Posted November 19, 2007 It worked! Thank you very much... not sure if many come back on here and respond after their problems been resolved but I really appreciate your help. :thumbsup: :thumbsup: :thumbsup: :thumbsup: Thanks again. Dave Just wanted to add my thanks as this also solved the issue for me! Any ideas what would i need to add to make the subcategories show in bold? thanks again Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.