Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce
Moderatore: mod Generali
di Robocop il 06/04/2004, 1:34
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 */
-
Robocop
- membro Junior

-
- Messaggi: 12
- Iscritto il: 08/01/2004, 1:00
- Località: Italia
di dasketch il 30/09/2004, 7:22
interessantissimo! una sola domanda... come hai costruito quel template? 
-
dasketch
- membro Junior

-
- Messaggi: 5
- Iscritto il: 28/09/2004, 0:00
- Località: ITA
di spozzati il 30/09/2004, 14:51
? 8O 8O 8O 8O
-
spozzati
-
di Ospite il 30/09/2004, 14:52
Il tema utilizzato è stupendo complimenti !!!
...se solo ne avessi un pezzo...
spozzati ha scritto:? 8O 8O 8O 8O
-
Ospite
-
di mixtere il 12/11/2004, 12:35
molto utile grazie
-
mixtere
- membro Junior

-
- Messaggi: 37
- Iscritto il: 12/11/2004, 1:00
- Località: ITALIA
di flasher il 17/11/2004, 15:15
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à.
-
flasher
- membro Baby

-
- Messaggi: 57
- Iscritto il: 07/07/2004, 0:00
di ZenoCosini il 25/11/2004, 21:15
Ottima la modifica dei prodotti random, ma qualcuno mi sa spiegare come renderla funzionante anche nelle singole categorie?
grazie
-
ZenoCosini
- membro Junior

-
- Messaggi: 31
- Iscritto il: 27/10/2004, 0:00
- Località: Giussano
-
di globogsm il 21/04/2005, 13:36
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?
-
globogsm
- membro Junior

-
- Messaggi: 43
- Iscritto il: 13/04/2005, 0:09
- Località: roma
-
di 06voip il 03/10/2009, 21:18
forse manca lo spazio qui rand()DESC ... ho appena provato questa soluzione e funziaaaaaaaaaaa  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 basta sostituire p.products_date_added con p.products_last_modifiedquesta per il momento non l'ho provata, in qunato sto cercando qualcosa da admin ma, se tanto mi da tanto, funzia sicuramente 
ATTENZIONE: Questi non sono cambiamenti banali. C'è un sacco di codice qui :o)
-
06voip
- membro Regular

-
- Messaggi: 226
- Iscritto il: 12/09/2009, 11:58
di mp4shop il 31/10/2009, 18:41
Grazie molte, ho utilizzato la routine e funziona perfettamente, complimenti.
Saluti
-
mp4shop
- membro Junior

-
- Messaggi: 2
- Iscritto il: 31/10/2009, 18:35
-
di mp4shop il 01/11/2009, 13:51
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
-
mp4shop
- membro Junior

-
- Messaggi: 2
- Iscritto il: 31/10/2009, 18:35
-
di vampire il 21/11/2009, 14:42
Quel template è scaricabile da internet ed è di template zone basta cercarlo che si trova solo che non ricordo il codice...
-
vampire
- membro Veteran

-
- Messaggi: 811
- Iscritto il: 24/04/2008, 11:48
- Località: Italia
-
di 06voip il 28/02/2010, 15:34
Per decide cosa far vedere in vetrina, funzione che stavo cercando basta sostituire p.products_date_added con p.products_last_modifiedquesta per il momento non l'ho provata, in qunato sto cercando qualcosa da admin ma, se tanto mi da tanto, funzia sicuramente 
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,6533mi sembra che non sia ancora stata citata.. o almeno qui sul forum non l'ho trovata xiao 
ATTENZIONE: Questi non sono cambiamenti banali. C'è un sacco di codice qui :o)
-
06voip
- membro Regular

-
- Messaggi: 226
- Iscritto il: 12/09/2009, 11:58
di 06voip il 14/03/2010, 9:44
è il momento di essere uomo e ammettere i propri limiti..  ..non ho idea di come si fa 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 
ATTENZIONE: Questi non sono cambiamenti banali. C'è un sacco di codice qui :o)
-
06voip
- membro Regular

-
- Messaggi: 226
- Iscritto il: 12/09/2009, 11:58
Torna a Contributions
Visitano il forum: Nessuno e 1 ospite
|