Jump to content
  • Checkout
  • Login
  • Get in touch

osCommerce

The e-commerce.

How can I change only the main parent categories to be bold and keep the sub categories in plain text?


awesomized

Recommended Posts

Posted

If you change the category box font in the style sheet, it will change all of the text. How can you just change the first categories to be bold when unselected and still keep the sub categories as plain text?

 

I've been trying to figure this out for a couple of days now with no luck. I'd appreciate it if someone could help me with this. Thanks.

Posted
If you change the category box font in the style sheet, it will change all of the text. How can you just change the first categories to be bold when unselected and still keep the sub categories as plain text?

 

I've been trying to figure this out for a couple of days now with no luck. I'd appreciate it if someone could help me with this. Thanks.

 

in file :

include/boxes/categories.php :

 

change this :

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

 

to this :

if ($tree[$counter]['parent'] == 0) {
  $categories_string .= '<b>';
}

// display category name
$categories_string .= $tree[$counter]['name'];
  if ($tree[$counter]['parent'] == 0) {
  $categories_string .= '</b>';
}

 

 

Corrina

Posted

Thanks Corrina but I couldn't find that code in my categories.php file

 

This is what my categories.php file looks like...

 

<?php
/*
 $Id: all_categories.php,v 1.6 2002/04/22 20:34:00 clescuyer Exp $


*/

// 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 indicate the current category
			if ($this_category == $cid) {
				$categories_string .=  '<b><font color="ff9900">•</font></b> ';
			}

			// 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><font color="009999">';
			}
			$categories_string .=  $foo[$cid]['name'];
			if ($in_path)
				$categories_string .=  '</b></font>';
			// 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 == 'true') {
					$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 //-->

 

What would I need to change in this code?

Posted

Can anyone please help me figure this out or at least point me in the right direction as to what code I would need to edit to change only the parent category font attributes? Thanks

  • 2 weeks later...
  • 2 weeks later...
Posted
in file :

include/boxes/categories.php :

 

change this :

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

 

to this :

if ($tree[$counter]['parent'] == 0) {
  $categories_string .= '<b>';
}

// display category name
$categories_string .= $tree[$counter]['name'];
  if ($tree[$counter]['parent'] == 0) {
  $categories_string .= '</b>';
}

Corrina

 

Thank you - This works fine.

I am new to php, but I'm fine with HTML & CSS. Can you please tell me how to put in other commands than bold - such as fontsize?

Ideally I would like to put in a CSS class instruction, but I don't know if that is possible. Can you help me please?

Archived

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

×
×
  • Create New...