Esempio n. 1
0
 function initQuery($params)
 {
     $tables = Manufacturers::getTables();
     $tables_ctl = Catalog::getTables();
     $m = $tables['manufacturers']['columns'];
     $pa = $tables_ctl['product_attributes']['columns'];
     $setting_filtering = $params['setting_filtering'];
     $setting_nonempty = $params['setting_nonempty'];
     $zone = $params['zone'];
     $b_only_active = $params['b_only_active'];
     $return_all = $params['return_all'];
     $_ids = $params['_ids'];
     $this->addSelectTable('manufacturers');
     $this->addSelectField("DISTINCT(" . $m['manufacturer_id'] . ")", 'id');
     $this->addSelectField($m['manufacturer_name'], 'value');
     if ($b_only_active === true) {
         $this->WhereValue($m['manufacturer_active'], DB_EQ, DB_TRUE);
     }
     if ($return_all == false && $setting_nonempty == "HIDE_EMPTY" && $zone == "CustomerZone") {
         $this->addSelectTable('product_attributes');
         if ($b_only_active === true) {
             $this->WhereAND();
         }
         $this->WhereField($m['manufacturer_id'], DB_EQ, $pa['attr_value']);
         $this->WhereAND();
         $this->WhereValue($pa['a_id'], DB_EQ, modApiFunc('Catalog', 'getManufacturerAttrId'));
         if (!empty($_ids)) {
             foreach ($_ids as $i) {
                 $ids[] = $i['product_id'];
             }
             $this->WhereAND();
             $this->WhereField($pa['p_id'], DB_IN, '(' . implode(',', $ids) . ')');
         }
     }
     $this->SelectOrder($m['sort_order'], 'ASC');
 }
 function uninstall()
 {
     $query = new DB_Table_Delete(Manufacturers::getTables());
 }