Soucis Module : Default Filters modded by OR AND

Programmation, discussions et suggestions pour l'amélioration de OpenCart

Soucis Module : Default Filters modded by OR AND

Messagepar Thibout » 03 Juin 2013, 12:46

Bonjour,

voila, j'étais à la recherche d'un module qui triait les produits par attributs. Exemple : Je vends des bijoux, j'aimerais que mon client via un module sur le coté puisse sélectionner le type de bijoux (collier, bague, bracelet), la matière (argent, or) et le type de pierre qu'il souhaite,... (Pour ceux a qui ca parle, le menu a facette de prestashop).

J'ai trouvé ce module : Default Filters modded by OR AND (Disponible ici http://www.opencart.com/index.php?route=extension/extension/info&extension_id=11707&filter_search=attributes%20filter&filter_license=0&sort=e.downloaded&order=ASC&page=2 )

Mais lors de son installation, vqmod manager ne le reconnait pas.
Voici le code, quelqu'un peut-il me dire d'ou vient le soucis ?
Pour ma part, je ne maitrise pas trop la programmation mais je vais chercher dans les fichiers concernés pour trouver une solution ; )

un très grand merci pour votre aide.

Code: Tout sélectionner
<modification>
   <id>VQMod Manager Menu Shortcut</id>
   <version>CDATA</version>
   <vqmver>CDATA</vqmver>
   <author>CDATA Mark Williams mark4013@gmail.com</author>
   <file path="catalog/model/catalog/" name="product.php">
      <operation>
         <search position="after"><![CDATA[$sql .= " AND pf.filter_id IN (" . implode(',', $implode) . ")";]]></search>
         <add><![CDATA[$minq=$this->db->query("
SELECT id.product_id FROM(SELECT
    product_id, count(i.product_id) as t, c.filter_group as b
FROM
    (SELECT
        f.filter_id, f.product_id, p.filter_group_id
    FROM
        ". DB_PREFIX ."product_filter f
    left join ". DB_PREFIX ."filter p ON p.filter_id = f.filter_id
    where
        p.filter_id IN (" . implode(',', $implode) . ")
    GROUP BY product_id , filter_group_id) as i,
    (select
        count(distinct filter_group_id) as filter_group
    from
        ". DB_PREFIX ."filter_description f_b
    WHERE f_b.filter_id in (" . implode(',', $implode) . ")) as c
GROUP BY product_id
HAVING t = b) as id");

$min=array();

for($x=0;$x<count($minq->rows);$x++){   
   
   foreach($minq->rows[$x] as $value){
      $min[]=$value;
   }
}

$imp=implode(',',$min);]]></add>
      </operation>
      <operation>
         <search position="after" offset=2><![CDATA[$sql .= " AND p.manufacturer_id = '" . (int)$data['filter_manufacturer_id'] . "'";]]></search>
         <add><![CDATA[if(isset($filters)){
   if(!count($min)){
      $imp='0000000';
   }
$sql .= " AND p.product_id IN(".$imp.")";
}]]></add>
      </operation>
   </file>
</modification>
Opencart : 1.5.5.1
Thème : aucun
Hébergeur : One.com
Thibout
 
Messages: 17
Inscrit le: 03 Juin 2013, 10:57

Retour vers Développement

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron
Copyright © 2009-2013 OpenCart France - Tous droits réservés