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);
}