stevennickelby Posted March 25, 2006 Posted March 25, 2006 Hi , i just want to have the category headings display in the header. I have the categories box displayed on the left aswell... ...i think i've gone about it the wrong way! I setup links in the header and gave them category names, only to realise just now that, if a customer is loged on and they click on one of these headers it will log them off... ..as there is no customer_id for those links. I thought maybe i could just do a simple cut and paste from categories.php to header.php, but it's way over my head, Come guys can someone help! :blink:
stevennickelby Posted March 25, 2006 Author Posted March 25, 2006 i've worked out that with the following code it will show the categories heading only... but it's in rows, how about just one row? :blink: <?php /* $Id: categories.php,v 1.23 2002/11/12 14:09:30 dgw_ Exp $ osCommerce, Open Source E-Commerce Solutions http://www.oscommerce.com Copyright © 2002 osCommerce Released under the GNU General Public License */ function tep_show_category($counter) { global $foo, $categories_string, $id; for ($a=0; $a<$foo[$counter]['level']; $a++) { $categories_string .= " "; } $categories_string .= '<a class="a1" href="'; if ($foo[$counter]['parent'] == 0) { $cPath_new = 'cPath=' . $counter; } else { $cPath_new = 'cPath=' . $foo[$counter]['path']; } $categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new); $categories_string .= '">'; if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= '<b><a class="a2">'; } // display category name $categories_string .= $foo[$counter]['name']; if ( ($id) && (in_array($counter, $id)) ) { $categories_string .= '</b>'; } if (tep_has_category_subcategories($counter)) { $categories_string .= ''; } $categories_string .= '</a><br>'; 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 ($foo[$counter]['next_id']) { tep_show_category($foo[$counter]['next_id']); } } ?> <!-- categories //--> <tr> <td> <?php $info_box_contents = array(); $info_box_contents[] = array('align' => 'left', 'text' => BOX_HEADING_CATEGORIES ); //new CategoriesBoxHeading($info_box_contents, true, false); $categories_string = ''; $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 ."' 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' => 1, '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']; } } //------------------------ tep_show_category($first_element); $info_box_contents = array(); $info_box_contents[] = array('align' => 'left', 'text' => $categories_string ); new CategoriesBox($info_box_contents); ?> </td> </tr> <!-- categories_eof //-->
matrix2223 Posted March 25, 2006 Posted March 25, 2006 look under the contributations for catagories menu under the features there are lots of contribs for this.
Guest Posted March 25, 2006 Posted March 25, 2006 change this $categories_string .= '<br>'; to $categories_string .= ' '; its not too good just to see the effect, but if you wand to have a single row you could move the $info_box_contents[] inside the function. Then utilize it as an multi-dim array where the first index specifies the row. The second is the column. Therefore keeping the same row and incrementing the column will expand it horizontally. $info_box_contents[0][1] $info_box_contents[0][2] $info_box_contents[0][3] etc obviously you have to break at some point the row and start a new one. So you could setup a counter once reached you start a new row.
Wendy James Posted March 25, 2006 Posted March 25, 2006 http://www.oscommerce.com/community/contributions,4096 http://www.oscommerce.com/community/contributions,1238 Those may help you figure out a way to do it. Wendy James Creativity is allowing yourself to make mistakes. Art is knowing which ones to keep.
Recommended Posts
Archived
This topic is now archived and is closed to further replies.