Jump to content
Sign in to follow this  
JonathanH

Categories with dropdown inconsistent

Recommended Posts

I've installed the contrib "categories with dropdown". It looks good. My problem is that sometimes when I go to the site, it shows the original category layout and sometimes the enhanced version. I'm not sure why it goes back and forth. I can't identify what's causing it. I've tried refreshing the page and deleting the temporary files in the browser. Is there a cache file on the server that I should clear? Could my ISP be caching something?

 

my site is at http://lab-suppliesonline.com

 

Is there any info I could post here that would help the troubleshooting? maybe categories.php (I'll include that at the bottom)

 

Any help would be appreciated.

 

<?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 © 2003 osCommerce

 

Released under the GNU General Public License

changed August 2003, by Nils Petersson

contribution "Category Box Enhancement", version 1.1

*/

 

function tep_show_category($counter) {

// BoF - Contribution Category Box Enhancement 1.1

global $tree, $categories_string, $cPath_array, $cat_name;

 

for ($i=0; $i<$tree[$counter]['level']; $i++) {

$categories_string .= "  ";

}

$cPath_new = 'cPath=' . $tree[$counter]['path'];

if (isset($cPath_array) && in_array($counter, $cPath_array) && $cat_name == $tree[$counter]['name']) { //Link nicht anklickbar, wenn angew?hlt

$categories_string .= '<a href="';

$categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">'; //Link nicht anklickbar, wenn angew?hlt

} else { //Link nicht anklickbar, wenn angew?hlt

$categories_string .= '<a href="';

$categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new) . '">';

} //Link nicht anklickbar, wenn angew?hlt

if (tep_has_category_subcategories($counter)) {

$categories_string .= tep_image(DIR_WS_IMAGES . 'pointer_blue.gif', '');

}

else {

$categories_string .= tep_image(DIR_WS_IMAGES . 'pointer_blue_light.gif', '');

}

 

 

if (isset($cPath_array) && in_array($counter, $cPath_array)) {

$categories_string .= '<b>';

}

 

if ($cat_name == $tree[$counter]['name']) {

$categories_string .= '<span class="errorText">';

}

// display category name

$categories_string .= $tree[$counter]['name'];

 

if ($cat_name == $tree[$counter]['name']) {

$categories_string .= '</span>';

}

if (isset($cPath_array) && in_array($counter, $cPath_array)) {

$categories_string .= '</b>';

}

 

 

$categories_string .= '</a>';

 

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 ($tree[$counter]['next_id'] != false) {

tep_show_category($tree[$counter]['next_id']);

}

}

?>

<!-- categories //-->

<tr>

<td>

<?php

// BoF - Contribution Category Box Enhancement 1.1

if (isset($cPath_array)) {

for ($i=0, $n=sizeof($cPath_array); $i<$n; $i++) {

$categories_query = tep_db_query("select categories_name from " . TABLE_CATEGORIES_DESCRIPTION . " where categories_id = '" . (int)$cPath_array[$i] . "' and language_id = '" . (int)$languages_id . "'");

if (tep_db_num_rows($categories_query) > 0)

$categories = tep_db_fetch_array($categories_query);

}

$cat_name = $categories['categories_name'];

}

// EoF Category Box Enhancement

// display category name

$info_box_contents = array();

// $info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES);

$info_box_contents[] = array('text' => '<a href="' . tep_href_link(FILENAME_ALL_PRODUCTS) . '" class="headerNavigation">' . BOX_HEADING_CATEGORIES . '</a><br>' );

 

new infoBoxHeading($info_box_contents, true, false);

 

$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' => $categories_string);

//jjh dropdown stuff

 

if ( (basename($PHP_SELF) != FILENAME_PRODUCTS_NEW)) {

$info_box_contents[] = array('align' => 'left',

'text' => '<font size=-2><b><a href="' . tep_href_link(FILENAME_PRODUCTS_NEW, '', 'NONSSL') . '">' . BOX_INFORMATION_PRODUCTS_NEW . '</a></b></font>');

}else{

$info_box_contents[] = array('align' => 'left',

'text' => '<font size=-2><b><a href="' . tep_href_link(FILENAME_PRODUCTS_NEW, '', 'NONSSL') . '"><span class="errorText">' . BOX_INFORMATION_PRODUCTS_NEW . '</a></b></font></span>');

}

function tep_get_paths($categories_array = '', $parent_id = '0', $indent = '', $path='') {

global $languages_id;

 

if (!is_array($categories_array)) $categories_array = array();

 

$categories_query = tep_db_query("select c.categories_id, cd.categories_name from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where parent_id = '" . (int)$parent_id . "' 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)) {

if ($parent_id=='0'){

$categories_array[] = array('id' => $categories['categories_id'],

'text' => $indent . $categories['categories_name']);

}

else{

$categories_array[] = array('id' => $path . $parent_id . '_' .$categories['categories_id'],

'text' => $indent . $categories['categories_name']);

}

 

if ($categories['categories_id'] != $parent_id) {

$this_path=$path;

if ($parent_id != '0')

$this_path = $path . $parent_id . '_';

$categories_array = tep_get_paths($categories_array, $categories['categories_id'], $indent . ' ', $this_path);

}

}

 

return $categories_array;

}

$info_box_contents[] = array('form' => '<form action="' . tep_href_link(FILENAME_DEFAULT) . '" method="get">' . tep_hide_session_id(),

'align' => 'left',

'text' => '<b>' . 'Go to..' . '<br>' . tep_draw_pull_down_menu('cPath', tep_get_paths(array(array('id' => '', 'text' => PULL_DOWN_DEFAULT))), $cPath, 'onchange="this.form.submit();" style="width: 100%"')

);

//jjh end

new infoBox($info_box_contents);

?>

</td>

</tr>

<!-- categories_eof //-->


Just learning OSC, but loving it so far.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×