Pagina 1 di 2

Modifiche vetrina

Inviato: 06/04/2004, 1:34
da Robocop
Se il tuo risultato volesse invece essere solo quello di non avere sempre nella vetrina gli ultimi prodotti e per di + statici....puoi optare per :

apri catalog\includes\modules\new_products.php

individua la linea:

$new_products_query = tep_db_query("select p.products_id, 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 where products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);

e sostituiscila con:

$new_products_query = tep_db_query("select p.products_id, 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 where products_status = '1' order by rand() DESC limit " . MAX_DISPLAY_NEW_PRODUCTS);


e poi la linea:

$new_products_query = tep_db_query("select distinct p.products_id, 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 = '" . $new_products_category_id . "' and p.products_status = '1' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);


la sostituisci con:

$new_products_query = tep_db_query("select distinct p.products_id, 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 = '" . $new_products_category_id . "' and p.products_status = '1' order by rand() DESC limit " . MAX_DISPLAY_NEW_PRODUCTS);

in questo modo i prodotti in vetrina saranno visualizzati in modo random...non male per dare un'idea di aggiornamento continuo ....
fammi sapere....ciauz

P.S: io uso questo metodo xche' la vetrina e' sempre diversa ed invitante, se lascio gli stessi prodotti anche per 1 solo giorno in vetrina mi sembra tutto fermo:P

dai un'occhiata se vuoi vedere il risultato http://www.solostock.tk





Invece una semplice modifica per mettere in vetrina quello che vuoi è questa

Posso consigliare una semplice modifica per gestire i prodotti nella vetrina iniziale, basta inserira la variabile data modifica al posto di data aggiunta,
nel file catalog/includes/modules/new_product.php.
in questo caso potrai scegliere cosa vedere in vetrina semplicemente aggiornando, anche senza modifiche, i prodotti che ti interessa far vedere.
E' pochino ma e semplice da realizzare e non interferisce con altre distribuzioni, tanto c'è la lista delle novità che fa vedere i prodotti in base alla loro aggiunta. E' valida per oscommerce MS2

Saluti da Robocop

Ecco la parte di codice dove attuare la modifica, puoi cancellare la parte originale, e inserire questo o semplicemente cambiare il nome della variabile:

/* SOSTITUITO LA DATA PER L'ORDINE DI VISUALIZZAZIONE DALLA DATA AGGIUNTA PRODOTTO ALLA DATA ULTIMA MODIFICA ( products_date_added CON products_last_modified ) */

$new_products_query = tep_db_query("select p.products_id, 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 where products_status = '1' order by p.products_last_modified desc limit " . MAX_DISPLAY_NEW_PRODUCTS);
} else {
$new_products_query = tep_db_query("select distinct p.products_id, 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 p.products_last_modified desc limit " . MAX_DISPLAY_NEW_PRODUCTS);
}

/* FINE-MODIFICHE */

Inviato: 30/09/2004, 7:22
da dasketch
interessantissimo! una sola domanda... come hai costruito quel template? :D

mi associo alla domanda

Inviato: 30/09/2004, 14:51
da spozzati
? 8O 8O 8O 8O

Re: mi associo alla domanda

Inviato: 30/09/2004, 14:52
da Ospite
Il tema utilizzato è stupendo complimenti !!!
...se solo ne avessi un pezzo...
spozzati ha scritto:? 8O 8O 8O 8O

Inviato: 12/11/2004, 12:35
da mixtere
molto utile grazie

Inviato: 17/11/2004, 15:15
da flasher
mixtere ha scritto:molto utile grazie
anch' io ho provato questa modifica e sono pienamente d' accordo!

Inoltre le modifiche sono minime e ben spiegate da Robocope, anche gli apprendisti non dovrebbero avere difficoltà.

Inviato: 25/11/2004, 21:15
da ZenoCosini
Ottima la modifica dei prodotti random, ma qualcuno mi sa spiegare come renderla funzionante anche nelle singole categorie?
grazie

Inviato: 21/04/2005, 13:36
da globogsm
ho effettuato la modifica e devo dire che funziona perfettamente fino a che si stà nella home page ma quando si visitano i link delle altre pagine mostra questo errore:

Vetrina di aprile
1064 - You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'limit9' at line 1

select distinct p.products_id, p.products_image, p.products_tax_class_id, if(s.status, s.specials_new_products_price, p.products_price) as products_price from products p left join specials s on p.products_id = s.products_id, products_to_categories p2c, categories c where p.products_id = p2c.products_id and p2c.categories_id = c.categories_id and c.parent_id = '21' and p.products_status = '1' order by rand()DESC limit9

[TEP STOP]


come si risolve?

Re: Modifiche vetrina

Inviato: 03/10/2009, 21:18
da 06voip
forse manca lo spazio qui rand()DESC ... :roll:

ho appena provato questa soluzione e funziaaaaaaaaaaa :P mi permetto di aggiornarla, in caso serva a qualcuno.

Questo per l'homepage, a me inizia alla riga 21:

$new_products_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, pd.products_name, 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_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 limit " . MAX_DISPLAY_NEW_PRODUCTS);


$new_products_query = tep_db_query("select p.products_id, p.products_image, p.products_tax_class_id, pd.products_name, 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_DESCRIPTION . " pd where p.products_status = '1' and p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by rand() desc limit " . MAX_DISPLAY_NEW_PRODUCTS);

Questo per tutte le altre vetrine, stessa modifica alla riga 23:

$new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, pd.products_name, 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_DESCRIPTION . " pd, " . 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 p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by p.products_date_added desc limit " . MAX_DISPLAY_NEW_PRODUCTS);
}

$new_products_query = tep_db_query("select distinct p.products_id, p.products_image, p.products_tax_class_id, pd.products_name, 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_DESCRIPTION . " pd, " . 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 p.products_id = pd.products_id and pd.language_id = '" . (int)$languages_id . "' order by rand() desc limit " . MAX_DISPLAY_NEW_PRODUCTS);
}

Per decide cosa far vedere in vetrina, funzione che stavo cercando :roll:

basta sostituire p.products_date_added con p.products_last_modified

questa per il momento non l'ho provata, in qunato sto cercando qualcosa da admin ma, se tanto mi da tanto, funzia sicuramente :D

Re: Modifiche vetrina

Inviato: 31/10/2009, 18:41
da mp4shop
Grazie molte,
ho utilizzato la routine e funziona perfettamente, complimenti.

Saluti

Re: Modifiche vetrina

Inviato: 01/11/2009, 13:51
da mp4shop
Ciao, scusami se ne approfitto, la tua routine che ho provato funziona perfettamente, ma quando clicco nell'home page si è rallentata notevolmente la visualizzazione del sito, sicuramente perchè va a cercare i prodotti da mettere in vetrina. Può essere evitato questo rallentamento, magari adottando qualche istruzione già sperimentata ?

Ti ringrazio anticipatamente.
Cordiali saluti

Re: Modifiche vetrina

Inviato: 21/11/2009, 14:42
da vampire
Quel template è scaricabile da internet ed è di template zone basta cercarlo che si trova solo che non ricordo il codice...

Re: Modifiche vetrina

Inviato: 28/02/2010, 15:34
da 06voip
Per decide cosa far vedere in vetrina, funzione che stavo cercando :roll:

basta sostituire p.products_date_added con p.products_last_modified

questa per il momento non l'ho provata, in qunato sto cercando qualcosa da admin ma, se tanto mi da tanto, funzia sicuramente :D
con questa contrib finalmente ho risolto il problema di gestire i prodotti della vetrina lato admin:

Customized New Products ofThe Month v1.2, qui:
http://www.oscommerce.com/community/contributions,6533

mi sembra che non sia ancora stata citata.. o almeno qui sul forum non l'ho trovata :)

xiao :mrgreen:

Re: Modifiche vetrina

Inviato: 10/03/2010, 21:33
da Xboxsers
Scusa se mi permetto ma non riesco a trovare una soluzione a quello che mi serve... di seguito la mia richiesta:

nel mio sito www.computerextreme.it/catalog , se vado nella pagina novità ( www.computerextreme.it/catalog/products_new.php ) vedo i prodotti per ordine alfabetico e non per ordine di ID come dovrebbe essere.

Che modifica debbo apportare ?.

Grazie

Giancarlo

Re: Modifiche vetrina

Inviato: 14/03/2010, 9:44
da 06voip
è il momento di essere uomo e ammettere i propri limiti.. :shock: ..non ho idea di come si fa :P :oops:

come nell'altro post, dato che non sto utilizzando questa soluzione posso andare solo a naso, sarà qualcosa del genere:

da

$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";

a

$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_id";

Considera che causa implementazione di alcune contribution, il mio codice potrebbe essere leggermente diverso dal tuo

xiao :wink: