Контрибуция Show Sub-categories v3 (отображение подкатегорий в меню)

Привет! поставил это http://www.oscommerce.com/community/contributions,885 дополнение. Работает, но в нем есть баг - подкатегории 3-его уровня не сортируются, т.е. выводятся в порядке их id. В пхп не силен, помогите пожалуйста правильно составить запрос к бд (с сортировкой).  В этом дополнении всего один файл includes/boxes/categories.php, вот кусочек кода этого файла, проблемную часть я выделил комментарием. Посмотрите плиз!

категория 1у

  • категория 2у
    • категория 3у. Подкатегории этой категории не сортируются.


<?php
$status tep_db_num_rows(tep_db_query('describe ' .  TABLE_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"
;

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

$categories_string '';

$info_box_contents = array();
$row 0;
$col 0;

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

$temp_cPath_array $cPath_array;
unset($cPath_array);
$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 .= '<a href="' tep_href_link(FILENAME_DEFAULT$cPath_new_sub'NONSSL') . '" class="menusubcateg">' '&nbsp;&nbsp;' tep_image(DIR_WS_IMAGES 'pointer_blue_light.gif''') .  $subcategories['categories_name'] . '</a>';

if (SHOW_COUNTS == 'true') {
$products_in_category tep_count_products_in_category($subcategories['categories_id']);
if ($products_in_category 0) {
$text_subcategories .= '&nbsp;(' $products_in_category ')';
}
}

$q2"select * from categories where parent_id=" $subcategories['categories_id'];
$rec2 mysql_query($q2);

/////////////////////////////////////
// Как запросить сортировку здесь?
/////////////////////////////////////
while ($rq2 mysql_fetch_array($rec2)) {

$snd_sub_category $rq2['categories_id'];
$q3"select categories_name from categories_description where categories_id=" $snd_sub_category;
$rec3 mysql_query($q3);
$rq3 mysql_fetch_array($rec3);

$snd_categories_name $rq3[categories_name];
$cPath_new_sub "cPath="  $categories['categories_id'] . "_" $subcategories['categories_id'] . "_" $snd_sub_category;
$text_subcategories .= '' '<a href="' tep_href_link(FILENAME_DEFAULT$cPath_new_sub'NONSSL') . '" class="menusubcategsec">'  tep_image(DIR_WS_IMAGES 'pointer_blue.gif''') . $snd_categories_name '</a>' "";
}
/////////////////////////////////////
}
}

$buildtext '<div class="menucateg"><span style="background: #231f20;">' $categories['categories_name'] . '</span></div>';
if (SHOW_COUNTS == 'true') {
$products_in_category tep_count_products_in_category($categories['categories_id']);

      if ($products_in_category 0) {
        $buildtext .= '&nbsp;(' $products_in_category ')';
      }
  
}

$buildtext .= '</b></a>' $text_subcategories;
$info_box_contents[$row] = array('align' => 'left',
 'params' => 'class="smallText" width="130" valign="top"',
 'text' => $buildtext); //befordch show category count
$col ++;
if ($col 0){
$col 0;
$row ++;
    }
$cPath_array $temp_cPath_array;
}
}
new noborderBox2($info_box_contentstrue);
?>

попробуй так, хотя сам не силен особо сильно...

/////////////////////////////////////
// Как запросить сортировку здесь?
/////////////////////////////////////
while ($rq2 = mysql_fetch_array($rec2)) {

$snd_sub_category = $rq2['categories_id'];
$q3= "select categories_name from categories_description where categories_id=" . $snd_sub_category . " order by sort_order, cd.categories_name"; // mod
$rec3 = mysql_query($q3);
$rq3 = mysql_fetch_array($rec3);

$snd_categories_name = $rq3[categories_name];
$cPath_new_sub = "cPath="  . $categories['categories_id'] . "_" . $subcategories['categories_id'] . "_" . $snd_sub_category;
$text_subcategories .= '' . '<a href="' . tep_href_link(FILENAME_DEFAULT, $cPath_new_sub, 'NONSSL') . '" class="menusubcategsec">'  . tep_image(DIR_WS_IMAGES . 'pointer_blue.gif', '') . $snd_categories_name . '</a>' . "";
}
/////////////////////////////////////

Цитировать
Dimarik
Бронзовый
Оффлайн Оффлайн
Сообщений: 1
Dimarik, вы специально зарегистрировались, чтобы мне помочь? ) Спасибо, приятно ) Проблему решил давно и уже не помню как ..