visualizzare tutte le sottocategorie nel menù categorie

Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce

Moderatore: mod Generali

Rispondi
Avatar utente
wiko85
membro Veteran
membro Veteran
Messaggi: 731
Iscritto il: 15/09/2005, 11:24
Contatta:

visualizzare tutte le sottocategorie nel menù categorie

Messaggio da wiko85 »

ok... modificando il file categories.php dovrei fare in modo da visualizzare nel menù tutte le sotto categorie.
al momento invece vengono visualizzate soltanto se si è entrati nella categoria madre

questo è il file da modificare...

Codice: Seleziona tutto

<?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 (c) 2003 osCommerce

  Released under the GNU General Public License
*/

  function tep_show_category($counter) {
    global $tree, $categories_string, $cPath_array;

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

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

    if ($tree[$counter]['parent'] == 0) {
      $cPath_new = 'cPath=' . $counter;
    } else {
      $cPath_new = 'cPath=' . $tree[$counter]['path'];
    }

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

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

// nel menù mostra affianco alla categoria principale un simbolo
//    if (tep_has_category_subcategories($counter)) {
//      $categories_string .= '';
//    }

    $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
  $info_box_contents = array();
  $info_box_contents[] = array('text' => BOX_HEADING_CATEGORIES);

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

  new infoBox($info_box_contents);
?>
            </td>
          </tr>
<!-- categories_eof //-->
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

dunque... viewtopic.php?t=10113 questa è una guida...

tu cosa cerchi? Vuoi mostrare le sotto categorie?

in inglese come si dice? --> show subcategories

sono sicuro che trovi la soluzione.

In fondo, se dobbiamo cercarlo noi, puoi farlo anche tu no? :)
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
Avatar utente
wiko85
membro Veteran
membro Veteran
Messaggi: 731
Iscritto il: 15/09/2005, 11:24
Contatta:

Messaggio da wiko85 »

aspetta non fraintendermi... e soprattutto cerchiamo di non dare sempre le stesse risposte...
cercare è una buona cosa ma io volevo cercare insieme a voi di capire dove andare a modificare, tutto sommato non è difficile...
comunque mi arrangerò da me...
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

wiko85 ha scritto:aspetta non fraintendermi... e soprattutto cerchiamo di non dare sempre le stesse risposte...
cercare è una buona cosa ma io volevo cercare insieme a voi di capire dove andare a modificare, tutto sommato non è difficile...
comunque mi arrangerò da me...
perchè reinventare l'acqua calda se c'è una contribution che lo fa già? :)
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
Avatar utente
wiko85
membro Veteran
membro Veteran
Messaggi: 731
Iscritto il: 15/09/2005, 11:24
Contatta:

Messaggio da wiko85 »

perché magari non si rimane ignoranti ma si capisce dove andare a modificare e come funziona...
comunque non stiamo qui a discuterne, ho già risolto da me...
grazie ugualmente!
hsg26
membro Master
membro Master
Messaggi: 1677
Iscritto il: 07/04/2005, 0:00
Località: Svizzera
Contatta:

Messaggio da hsg26 »

wiko85 ha scritto:perché magari non si rimane ignoranti ma si capisce dove andare a modificare e come funziona...
comunque non stiamo qui a discuterne, ho già risolto da me...
grazie ugualmente!
nono ma capisco il tuo punto di vista, imparare va benissimo perchè potrebbe venirti utile in futuro. Io però tendo ad imparare quando ne ho la necessità, altrimenti uso il lavoro degli altri se esiste. Per questo in fondo sono nate le comunità di software libero.

Dipende anche tutto dai motivi per i quali crei lo shop. Il nostro tempo non è gratis, nonostante possa sembrarlo.
Meglio concentrarsi su altri aspetti, come le descrizioni dei prodotti, che nessuno può fare al nostro posto....

Credo che se faccio uno shop per vendere, e la funzionalità è già esistente e mi serve, la aggiungo. A me interessa vendere, non imparare il codice, altrimenti non creerei nemmeno lo shop.

Invece se crei lo shop per scopo ludico, ecco che il discorso cambia.

Tutto qui...
La funzione CERCA si trova sotto al logo Oscommerce italia in questa pagina. - I Love Marketing!

I miei preferiti: internet marketing blog - biancheria da letto - prodotti tipici piemonte - vini piemontesi - roero arneis
Rispondi