2012-08-28 14 views

risposta

30

Dopo aver letto la fonte, ho capito:

In catalogo/regolatore/prodotto/category.php (o dovunque si sta chiamando la funzione model_catalog_product- > getProducts) si deve aggiungere filter_sub_category = true:

$data = array(
    'filter_category_id' => $top_category, 
    'filter_sub_category' => true, 
    'sort'    => $sort, 
    'order'    => $order, 
    'start'    => ($page - 1) * $limit, 
    'limit'    => $limit 
); 

$product_total = $this->model_catalog_product->getTotalProducts($data); 

Assicurati di controllare le altre risposte se si sta utilizzando una versione successiva;)

+3

Questo è veramente utile. soluzione semplice, grande impatto per l'esperienza dell'utente. –

+1

Giusto per chiarire, questo modifica i file core di OpenCart, che è piuttosto cattivo. Non che lavorare con vQmod non sia poi così brutto ... – Nacho

+1

Ottima soluzione. Grazie Sir – amir

6

Un'altra soluzione, piuttosto che modificare direttamente i file core, è utilizzare vQmod per modificare il file per te. In questo modo, quando esegui l'aggiornamento a una nuova versione, non dovrai reinstallare le modifiche personalizzate apportate.

seguito è riportato un codice devi usare per raggiungere questo obiettivo in vQmod:

<?xml version="1.0" encoding="UTF-8"?> 
<modification> 
    <id>Display products in sub-categories while browsing a parent category</id> 
    <version>1.0.0</version> 
    <vqmver>2.4.0</vqmver> 
    <author>Jay Williams - [email protected]</author> 
    <file name="catalog/controller/product/category.php"> 
     <operation> 
      <search position="after"><![CDATA['filter_category_id' => $category_id,]]></search> 
      <add><![CDATA['filter_sub_category' => true,]]></add> 
     </operation> 
    </file> 
</modification> 

Fonte: https://gist.github.com/jaywilliams/8044763

1

il metodo vqmod è il migliore e funziona facilmente. basta aggiungere il file e anything.xml e posizionarlo nella vqmod> xml

4

catalogo/regolatore/prodotto/category.php

Per OpenCart versione 2.1.0.2, la soluzione di Ignacio funziona multe così proprio questo:

$data (of version 1.5.x) ora si chiama

$filter_data (line #169)

Poi basta aggiungere la linea

'filter_sub_category' => true,

dopo riga # 170 ('filter_category_id' => $category_id,)

Grazie Ignacio!

1

Contribuendo con una sola informazione in più, le versioni più recenti utilizzano "ocmod", la funzione vqmod di OpenCart. Può funzionare allo stesso modo da lì.

Problemi correlati