Newsgroup: it.comp.www.php
Titolo: Aiuto NuoviProdotti OSCommerce

Mi chiedevo se era possibile impedire che i prodotti che vengano aggiunti in 
una categoria "XXX" NON risultassero come "Nuovi Prodotti" e che quando si 
clicca su "nuovi prodotti" in homepage non vengono fuori nella lista.
Credo che sia possibile inserire un controllo con un != prima della chiamata 
escludendo una vategoria tramite id..ma purtroppo non riesco a individuare 
il file ne tantomeno la chiamata e cmq non sarei lo stesso in grado di fare 
quello che vorrei.
Grazie a chi puo aiutarmi


ha detto:

Dovrebbe essere nel file include/modules/new_products.php, riga 22,
sostituisci con:
$catid = 1;    // scrivi qui l'id della categoria da non far
visualizzare
$new_products_query = tep_db_query("select p.products_id,
p.products_image, p.products_tax_class_id, p.products_price from " .
TABLE_PRODUCTS . " p LEFT JOIN " . TABLE_PRODUCTS_TO_CATEGORIES . " ON
p.id
=" . TABLE_PRODUCTS_TO_CATEGORIES . ".product_id where
products_status = '1' AND " . TABLE_PRODUCTS_TO_CATEGORIES .
".
categories.id
 <> ".$catid." order by rand() DESC limit " .
MAX_DISPLAY_NEW_PRODUCTS);
Da testare.
Francesco Mazzi
Webmaster di AltroPC.it - 
http://www.altropc.it
 
Dev.Staff di E-Xoopport - 
http://dev.e-xoopport.it


ho provato ma da degli errori.
Sostituendo tuto il pezzo mi dice:
1064 - Errore di sintassi nella query SQL vicino a 
'p.products_id,p.products_image, p.products_tax_class_id, p.products_price 
from p' linea 1
p.products_id,p.products_image, p.products_tax_class_id, p.products_price 
from products p LEFT JOIN products_to_categories 
ONp.id=products_to_categories.product_id whereproducts_status = '1' AND 
products_to_categories.categories.id
 <> 1 order by rand() DESC limit 9
Se invece aggiungo solo $catid = 1 dabanti al mio testo che č:
$new_products_query = tep_db_query("select p.products_id, p.products_image, 
p.products_tax_class_id, p.products_price from " . TABLE_PRODUCTS . " p 
where products_status = '1' and vetrina = '1' order by rand() DESC limit " . 
MAX_DISPLAY_NEW_PRODUCTS);
da cmq errore alla riga 22.
Grazie, ciao


products_to_categories.categories.id
 <> 1 order by rand() DESC limit 9
manca uno spazio fra ON e 
p.id
 e fra where e products_status



ho provato e in effetti la modifica fa l'effetto desiderato..ma nn dove 
voglio io :)
Praticamente non me lo aggiunge piu in vetrina nella parte centrale della 
homepage,
mentre pero compare sempre tra "Nuovi prodotti" che si trova nel menu di 
sinistra
e fa comparire l'elenco di tutti gli ultimi prodotti inseriti,
Io era la che volevo togliere la categoria.
Grazie mille cmq del tempo che stai perdendo con me 

Io era la che volevo togliere la categoria.
Ah, avevo capito che lo volevi togliere da lě. Allora basta modificare
la query nell'else, riga 24:
$new_products_query = tep_db_query("select distinct p.products_id,
p.products_image, p.products_tax_class_id, p.products_price as
products_price from " . TABLE_PRODUCTS . " p, " .
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' and " . TABLE_PRODUCTS_TO_CATEGORIES
.".
categories.id
 <> ".$catid." order by rand() DESC limit " .
MAX_DISPLAY_NEW_PRODUCTS);


Francesco Mazzi wrote:
[cut]
nn cambia niente, nn la toglie.
potrebbe essere il file products_new.php?
dentro catalog?
o nn c'entra niente? 

dentro catalog?
potrebbe essere. Mi sa che non ho capito da dove vuoi levare la
categoria.



andando un po a naso la query è questa qui:
$products_new_query_raw = "select p.products_id, pd.products_name, 
p.products_image, p.products_price, p.products_tax_class_id, 
p.products_date_added, m.manufacturers_name from " . TABLE_PRODUCTS . " p 
left join " . TABLE_MANUFACTURERS . " m on (p.manufacturers_id = 
m.manufacturers_id), " . TABLE_PRODUCTS_DESCRIPTION . " pd where 
p.products_status = '1' and p.products_id = pd.products_id and 
pd.language_id = '" . (int)$languages_id . "' order by p.products_date_added 
DESC, pd.products_name";
Dove la voglio mettere..buh mi spiego male.
Sul mio OSCommerce c'è un box chiamato "Novità" che pigiandoci porta a far 
evdere una lista
nel centro della pagina con tutti gli ultimi prodotti inseriti a catalogo in 
tutte le categorie.
Poco piu sopra il box ho proprio una scritta "Nuovi Prodotti" che apre la 
stessa pagina.
Ho visto che il il collegamento che viene fuori è a products:new.php quindi 
forse
la query è quella :)
Grazie,
ciao