Search code examples
phposcommerce

CSS active class at oscommerce manufacturer list


I am trying to add for a Bootstrap Theme at OSCommerce an active class for manufacturors. I am a noob with PHP and cant finish it.. Anybody who can help me out?

The Code

  $manufacturers_list = '<ul class="nav nav-pills nav-stacked">';
  while ($manufacturers = tep_db_fetch_array($manufacturers_query)) 
  {
    $manufacturers_name = ((strlen($manufacturers['manufacturers_name']) > MAX_DISPLAY_MANUFACTURER_NAME_LEN) ? substr($manufacturers['manufacturers_name'], 0, MAX_DISPLAY_MANUFACTURER_NAME_LEN) . '..' : $manufacturers['manufacturers_name']);
    if (isset($HTTP_GET_VARS['manufacturers_id']) && ($HTTP_GET_VARS['manufacturers_id'] == $manufacturers['manufacturers_id'])) 

        $manufacturers_name = '<strong>' . $manufacturers_name .'</strong>';
        $manufacturers_list .= '<li><a href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers['manufacturers_id']) . '">' . $manufacturers_name . '</a></li>';  
  }
  $manufacturers_list .= '</ul>';

I thought I could do it code it like here

$manufacturers_list .= '<li><a' if (isset($manufacturor_name)) {echo "class="'active'} ' href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers['manufacturers_id']) . '">' . $manufacturers_name . '</a></li>';

Thanks for advices.


Solution

  • You can't have an if statement in between strings, concatenate using . and the ternary operator ?::

    $manufacturers_list .= '<li><a '.(isset($manufacturor_name) ? 'class="active"' : '').'href="' . tep_href_link(FILENAME_DEFAULT, 'manufacturers_id=' . $manufacturers['manufacturers_id']) . '">' . $manufacturers_name . '</a></li>';