Modifiche vetrina

Questo forum è dedicato alle discussioni riguardanti le contribution per osCommerce

Moderatore: mod Generali

Robocop
membro Junior
membro Junior
Messaggi: 12
Iscritto il: 08/01/2004, 1:00
Località: Italia

Modifiche vetrina

Messaggio 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 */
dasketch
membro Junior
membro Junior
Messaggi: 5
Iscritto il: 28/09/2004, 0:00
Località: ITA

Messaggio da dasketch »

interessantissimo! una sola domanda... come hai costruito quel template? :D
spozzati

mi associo alla domanda

Messaggio da spozzati »

? 8O 8O 8O 8O
Ospite

Re: mi associo alla domanda

Messaggio da Ospite »

Il tema utilizzato è stupendo complimenti !!!
...se solo ne avessi un pezzo...
spozzati ha scritto:? 8O 8O 8O 8O
mixtere
membro Junior
membro Junior
Messaggi: 37
Iscritto il: 12/11/2004, 1:00
Località: ITALIA

Messaggio da mixtere »

molto utile grazie
flasher
membro Baby
membro Baby
Messaggi: 57
Iscritto il: 07/07/2004, 0:00

Messaggio 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à.
ZenoCosini
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 27/10/2004, 0:00
Località: Giussano
Contatta:

Messaggio da ZenoCosini »

Ottima la modifica dei prodotti random, ma qualcuno mi sa spiegare come renderla funzionante anche nelle singole categorie?
grazie
globogsm
membro Junior
membro Junior
Messaggi: 43
Iscritto il: 13/04/2005, 0:09
Località: roma
Contatta:

Messaggio 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?
06voip
membro Veteran
membro Veteran
Messaggi: 549
Iscritto il: 12/09/2009, 11:58

Re: Modifiche vetrina

Messaggio 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
ATTENZIONE: Questi non sono cambiamenti banali. C'è un sacco di codice qui :o) bene bravo bis!!:)
mp4shop
membro Junior
membro Junior
Messaggi: 2
Iscritto il: 31/10/2009, 18:35

Re: Modifiche vetrina

Messaggio da mp4shop »

Grazie molte,
ho utilizzato la routine e funziona perfettamente, complimenti.

Saluti
mp4shop
membro Junior
membro Junior
Messaggi: 2
Iscritto il: 31/10/2009, 18:35

Re: Modifiche vetrina

Messaggio 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
vampire
membro Veteran
membro Veteran
Messaggi: 810
Iscritto il: 24/04/2008, 11:48
Località: Italia
Contatta:

Re: Modifiche vetrina

Messaggio da vampire »

Quel template è scaricabile da internet ed è di template zone basta cercarlo che si trova solo che non ricordo il codice...
VHosting Solution
Web Hosting Da 26 Euro Annuo
OsCommerce Hosting 144 Euro Annuo
15% di sconto con il codice: OSC-Member su WebHosting - OSC Hosting
http://www.vhosting-it.com
info@vhosting-it.com
06voip
membro Veteran
membro Veteran
Messaggi: 549
Iscritto il: 12/09/2009, 11:58

Re: Modifiche vetrina

Messaggio 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:
ATTENZIONE: Questi non sono cambiamenti banali. C'è un sacco di codice qui :o) bene bravo bis!!:)
Xboxsers
membro Baby
membro Baby
Messaggi: 81
Iscritto il: 10/03/2006, 19:43

Re: Modifiche vetrina

Messaggio 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
06voip
membro Veteran
membro Veteran
Messaggi: 549
Iscritto il: 12/09/2009, 11:58

Re: Modifiche vetrina

Messaggio 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:
ATTENZIONE: Questi non sono cambiamenti banali. C'è un sacco di codice qui :o) bene bravo bis!!:)
Rispondi