Jump to content


Corporate Sponsors


Latest News: (loading..)

- - - - -

Show only Top Categories


  • You cannot reply to this topic
No replies to this topic

#1 christianengelke

  • Community Member
  • 4 posts
  • Real Name:christian engelke

Posted 07 July 2003, 18:41

Hi,

does anyone know why this excellent contri does not properly work with Oscommerce MS1?

<?php

/*

  $Id: show_subcategories.php,v 1.0 2003/01/08 10:37:00 Exp $



  osCommerce, Open Source E-Commerce Solutions

  http://www.oscommerce.com/



  Based on: main_categories.php Ver. 1.0 by Gustavo Barreto



  History: 1.0 Creation



  Released under the GNU General Public License



*/



// Preorder tree traversal

  function preorder($cid, $level, $foo, $cpath)

  {

    global $categories_string, $HTTP_GET_VARS;



// Display link

    if ($cid != 0) {

      for ($i=0; $i<$level; $i++)

        $categories_string .=  '  ';

      $categories_string .= '<a href="' . tep_href_link(FILENAME_DEFAULT, 'cPath

=' . $cpath . $cid) . '">';

// 1.6 Are we on the "path" to selected category?

      $bold = strstr($HTTP_GET_VARS['cPath'], $cpath . $cid . '_') ||  $HTTP_GET_VARS['cPath'] == $cpath . $cid;

// 1.6 If yes, use <b>

      if ($bold)

        $categories_string .=  '<b>';

      $categories_string .=  $foo[$cid]['name'];

      if ($bold)

        $categories_string .=  '</b>';

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

    }



// This is for older snapshots pre-November 2002

/*    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 . '_' : ''))
;

      } */

// Function used for post November 2002 snapshots

  function tep_show_category($counter) {

    global $foo, $categories_string, $id;



    for ($a=0; $a<$foo[$counter]['level']; $a++) {

      $categories_string .= "  ";

    }

    }

  }



?>

<!-- show_subcategories //-->

          <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, c.categories_image

            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);





// Initiate tree traverse

  $categories_string = '';

  preorder(0, 0, $foo, '');



//////////

// Display box contents

//////////

  $info_box_contents = array();



  $row = 0;

  $col = 0;

  while ($categories = tep_db_fetch_array($categories_query)) {

   if ($categories['parent_id'] == 0) {

    $cPath_new = tep_get_path($categories['categories_id']);

    $text_subcategories = '';

    $subcategories_query = tep_db_query($query);

     while ($subcategories = tep_db_fetch_array($subcategories_query)) {

                if ($subcategories['parent_id'] == $categories['categories_id'])

 {

                $cPath_new_sub = "cPath="  . $categories['categories_id'] . "_"

. $subcategories['categories_id'];



                $text_subcategories .= ' <br>'. tep_image(DIR_WS_IMAGES . 'arrow_category_wh.gif') . '&nbsp;<a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new_sub, 'NONSSL') . '"class="infoBox">' . $subcategories['categories_name'] . '</a>' . " ";

                } // if



     } // While Interno



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

                                           'params' => 'class="smallText" width="125" valign="top"',

                                           'text' => '<a href="' . tep_href_link

(FILENAME_DEFAULT, $cPath_new, 'NONSSL') . '">' . '</a><a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new, 'NONSSL') . '"class="infoBox">' . '<b>' . $categories['categories_name'] . '</b></a>' . $text_subcategories );

    $col ++;

    if ($col > 0) {

      $col = 0;

      $row ++;

    }

   }

  }

  new infoBox($info_box_contents);

?>

            </td>

          </tr>

<!-- show_subcategories_eof //-->

Subcategories are displayed but maincategories links are not working.

thanks in advance.

best regards
christian engelke