JEWbacca Posted March 29, 2005 Share Posted March 29, 2005 Good Afternoon. I'm trying to use the Display Category Name In Main Content and Show All Categories contributions together... but so far I have had no luck :( The Display Category Name In Main Content contribution changes the 'Let's See What We Have Here' to display the category name in its place. The Show All Categories contribution displays both the Categories and sub Categories all at once in the left box. I'm 90% sure my problem is because this line (that I put into the index.php) echo HEADING_TITLE . '\'' . $tree[$current_category_id]['name'] . '\''; does not agree with with the new category box. Here is the code used in for my categories.php <?php /* $Id: all_categories.php,v 1.6 2002/04/22 20:34:00 clescuyer Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com/ Copyright (c) 2002 Go?lette Christian Lescuyer <cl@goelette.net> http://www.goelette.net/ http://oscommerce.goelette.net/ History: 1.1 Creation 1.2 Modified query for compatibility with older databases 1.3 Query in 1.2 was wrong for older databases 1.4 SHOW_COUNTS test corrected 1.5 Added COMPACT_CATEGORIES option to display all sub-categories on one line 1.6 Removed COMPACT_CATEGORIES option Corrected the cpath generation Bold categories "path" to selected category, an idea from Peter F?rsicht 1.7 Cleaned the way in which the categories are displayed - bold for the path, ">" to indicate the current category, removed link to current category, only indent subcategories (top level are flush left) Released under the GNU General Public License */ // Keep out parts category $excluded_parts_category_id = 28; // Preorder tree traversal function preorder($cid, $level, $foo, $cpath) { global $categories_string, $HTTP_GET_VARS; if ($cid != 0) { // 1.7 Get the current path info $category_path = explode('_',$HTTP_GET_VARS['cPath']); $in_path = in_array($cid, $category_path); $this_category = array_pop($category_path); for ($i=0; $i<$level; $i++) // 1.7 only indent subcategories (top level are flush left) if ($i>0) { $categories_string .= ' '; } // 1.7 don't link the current category if ($this_category != $cid) { $categories_string .= '<a href="' . tep_href_link(FILENAME_DEFAULT, 'cPath=' . $cpath . $cid) . '">'; } // 1.6 Are we on the "path" to selected category? If yes, use <b> if ($in_path) { $categories_string .= '<b>'; } $categories_string .= $foo[$cid]['name']; if ($in_path) $categories_string .= '</b>'; // 1.7 don't link the current category if ($this_category != $cid) { $categories_string .= '</a>'; } // 1.4 SHOW_COUNTS is 'true' or 'false', not true or false if (SHOW_COUNTS == 'false') { $products_in_category = tep_count_products_in_category($cid); if ($products_in_category > 0) { $categories_string .= ' (' . $products_in_category . ')'; } } $categories_string .= '<br>' ."\n"; } // Traverse category tree foreach ($foo as $key => $value) { if ($foo[$key]['parent'] == $cid) { // print "$key, $level, $cid, $cpath<br>"; preorder($key, $level+1, $foo, ($level != 0 ? $cpath . $cid . '_' : '')); } } } ?> <!-- all_categories //--> <tr> <td> <?php ////////// // Display box heading ////////// $info_box_contents = array(); $info_box_contents[] = array('align' => 'left', 'text' => BOX_HEADING_CATEGORIES); new infoBoxHeading($info_box_contents, true, false); ////////// // Get categories list ////////// // 1.2 Test for presence of status field for compatibility with older versions $status = tep_db_num_rows(tep_db_query('describe categories status')); $query = "select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.categories_id = cd.categories_id"; // 1.3 Can't have 'where' in an if statement! if ($status >0) $query.= " and c.status = '1'"; $query.= " and cd.language_id='" . $languages_id ."' order by sort_order, cd.categories_name"; $categories_query = tep_db_query($query); // Stuff in an array while ($categories = tep_db_fetch_array($categories_query)) { $foo[$categories['categories_id']] = array('name' => $categories['categories_name'], 'parent' => $categories['parent_id']); } // Initiate tree traverse $categories_string = ''; preorder(0, 0, $foo, ''); ////////// // Display box contents ////////// $info_box_contents = array(); $info_box_contents[] = array('align' => 'left', 'text' => $categories_string); new infoBox($info_box_contents); ?> </td> </tr> <!-- all_categories_eof //--> Thanks for any suggestions. Nate Link to comment Share on other sites More sharing options...
JEWbacca Posted March 29, 2005 Author Share Posted March 29, 2005 Bump for the day crew :blush:..... anyone have an idea? Thanks in advance. Nate Link to comment Share on other sites More sharing options...
JEWbacca Posted March 30, 2005 Author Share Posted March 30, 2005 :blush: :blush: :blush: Shameless effort to solve this problem.... anyone Link to comment Share on other sites More sharing options...
Jan Zonjee Posted March 30, 2005 Share Posted March 30, 2005 Shameless Indeed ;) Use "foo" instead of "tree" and you should be fine: // hacked to display current category name in main content area! Nik echo HEADING_TITLE . '\'' . $foo[$current_category_id]['name'] . '\''; Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.