Vetrina specifica per una categoria
Inviato: 16/09/2008, 22:43
Un saluto a tutti, sto cercando di capire come si può far puntare la vetrina della home page solo ad una categoria specifica. Ho trovato una contribution (display_category, in realtà è una semplice mod del file new_products.php), che riesce a far sì che la vetrina "randomizzi" una categoria per volta.
Purtroppo non mi basta, mi serve che la vetrina punti soltanto ad una categoria specifica, ignorando le altre, ad esempio inserendo il suo ID. Riporto qui il codice ottenuto dopo la mod di cui sopra, per chiedervi cortesemente come posso intervenire sul codice per soddisfare questo requisito.
Il p.products_quantity l'ho aggiunto io, visto che la mod originariamente ignorava del tutto le quantità disponibili, sbattendo in vetrina anche i prodotti terminati. Questione comunque risolta per l'appunto con l'aggiunta di "p.products_quantity" nella query.
Purtroppo non mi basta, mi serve che la vetrina punti soltanto ad una categoria specifica, ignorando le altre, ad esempio inserendo il suo ID. Riporto qui il codice ottenuto dopo la mod di cui sopra, per chiedervi cortesemente come posso intervenire sul codice per soddisfare questo requisito.
Il p.products_quantity l'ho aggiunto io, visto che la mod originariamente ignorava del tutto le quantità disponibili, sbattendo in vetrina anche i prodotti terminati. Questione comunque risolta per l'appunto con l'aggiunta di "p.products_quantity" nella query.
Codice: Seleziona tutto
if ( (!isset($new_products_category_id)) || ($new_products_category_id == '0') ) {
$category_query = tep_db_query("select distinct categories_id from ". TABLE_PRODUCTS_TO_CATEGORIES );
$cids = array();
while ($categories = tep_db_fetch_array($category_query)) {
array_push($cids, $categories["categories_id"]);
}
$cid = $cids[rand(0, count($cids) - 1)];
// removed order by p.products_date_added desc
$new_products_query = tep_db_query(
"select p.products_id, p.products_quantity, p.products_image, p.products_tax_class_id, " .
"if(s.status, s.specials_new_products_price, p.products_price) as products_price " .
"from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id " .
", ". TABLE_PRODUCTS_TO_CATEGORIES . " p2c " .
"where p.products_id = p2c.products_id and products_status = '1' and p2c.categories_id = $cid " .
"order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
} else {
$new_products_query = tep_db_query("select distinct p.products_id, p.products_quantity, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from " . TABLE_PRODUCTS . " p left join " . TABLE_SPECIALS . " s on p.products_id = s.products_id, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c, " . TABLE_CATEGORIES . " c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '" . (int)$new_products_category_id . "' and p.products_status = '1' order by rand() limit " . MAX_DISPLAY_NEW_PRODUCTS);
}