Joomla.it Forum

Componenti per Joomla! => Gestione e-commerce => : rino69 23 May 2008, 13:00:35

: RISOLTO numero prodotti sballato
: rino69 23 May 2008, 13:00:35
salve piccolo problema con il modulo vm nella categoria principale il numero dei prodotti e sballato o addirittura a zero, nelle sotto categorie il numero e giusto da cosa e dovuto
vedi link libri elettronica elettrodomestici categoria principale zero sotto categorie giuste  idem con il link moda e accessori segnala 1960 ma in realta sono oltre 20mila articoli 
http://www.cercacompra.it/moda-e-accessori.html
http://www.cercacompra.it/elettrodomestici.html
grazie dell'attenzione
: Re: RISOLTO numero prodotti sballato
: poligiacomo 30 May 2008, 09:32:20
Ciao,
ho il tuo stesso problema, mi puoi dire come lo hai risolto?

Grazie
Giacomo
: Re: RISOLTO numero prodotti sballato
: rino69 31 May 2008, 12:30:19
Ciao,
ho il tuo stesso problema, mi puoi dire come lo hai risolto?

Grazie
Giacomo
la soluzione (non è farina del mio sacco ... l'ho trovata già fatta)sul sito vmitalia

nel file administrator\components\com_virtuemart\classes\ps_product_category.php sostituire la funzione products_in_category (circa alla linea 1020) con quanto segue:
function prod_in_cat_recursive( $category_id ) {
          $num=0;
          if (ps_product_category::has_childs( $category_id )) {
             $db = new ps_DB;
             $q = "SELECT category_child_id FROM #__{vm}_category_xref ";
             $q .= "WHERE category_parent_id='$category_id' ";
             $db->query($q);
             while( $db->next_record() ) {
               $num += ps_product_category::prod_in_cat_recursive($db->f("category_child_id"));
             }
          }
          $num += ps_product_category::product_count($category_id);
          return $num;
        }

        function products_in_category( $category_id ) {
          if( PSHOP_SHOW_PRODUCTS_IN_CATEGORY == '1' ) {
            $num =  ps_product_category::prod_in_cat_recursive( $category_id );
            return " ($num) ";
          }
          else
            return "";
        }