Pagina 1 di 2
Aggiornamento automatico del numero di prodotti
Inviato: 02/03/2004, 23:25
da teohell
ciao a tutti!
ho scoperto da poco questo sito ma vorrei farvi i miei complimenti!
da qualche mese sto "smanettando" su OsCommerce e qui ho risolto alcuni dei problemi che mi assillavano
volevo presentarmi con un hint che spero possa tornare utile a qualcuno
in pratica ho notato che la quantita' dei prodotti nella shopping cart non viene aggiornata se non si preme il pulsante "update"... cio' non e' molto user-friendly 8O
allora se volete che la quantita' si aggiorni automaticamente qualsiasi cosa facciate, anche se cliccate su spazio vuoto, prendete i seguenti riferimenti:
file:
line:
Codice: Seleziona tutto
'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']));
sostituire con:
Codice: Seleziona tutto
'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4" onChange="this.form.submit();"') . [tep_draw_hidden_field('products_id[]', $products[$i]['id']));
spero che possa essere utile
saluti a tutti,
teo.
Inviato: 03/03/2004, 0:11
da kerkes
Ciao
Era un problema a cui avevo pensato anche io, ma essendo gnurant in php non avevo trovato soluzione.
Questa soluzione funziona anche per browser che non siano explorer?
Inviato: 03/03/2004, 0:16
da teohell
l'importante e' che siano compatibili JavaScript
ciao, teo.
Re: Aggiornamento automatico del numero di prodotti
Inviato: 03/03/2004, 6:35
da marcus
teohell ha scritto:
spero che possa essere utile
saluti a tutti,
teo.
Semplice ed elegante. Complimenti teohell (inferno di Teo ?!! 8O ),
ottimo esordio
.
Si potrebbe aggiungere, sempre tramite javascript, una dialogbox, OPZIONALE da settare in configurazione, che notifica l'avvenuto cambiamento del contenuto carrello e ne chiede conferma ...
Per quel che mi riguarda sto lavorando su una contrib per le immagini che spero di rendere disponibile a breve.
OSC è parecchio lacunoso a riguardo, tra l'altro, e ne chiedo conferma, mi sembra che vi sia un grosso bug per quanto riguarda i nomi dei file delle immagini.
Mi spiego meglio. Se ho un prodotto A, la cui immagine è pippo.jpg, e successivamnete carico un nuovo prodotto B, che ha una DIVERSA immagine, ma per caso o per disgrazia, questa immagine la chiamo pippo.jpg, allora ...magia A assume l'immagine di B 8O.
Mi sa che c'è parecchio da lavorare su sto tool ...
A proposito conosci qualche contrib per aggiungere il classico 'ricorda la connessione' per i clienti registrati?
Ciao e buon lavoro
Marcus Marzullus
Inviato: 03/03/2004, 18:15
da teohell
Si potrebbe aggiungere, sempre tramite javascript, una dialogbox, OPZIONALE da settare in configurazione, che notifica l'avvenuto cambiamento del contenuto carrello e ne chiede conferma ...
si potrebbe fare certo... e penso lo faro'
se volete cmq avevo previsto anche la possibilita' di abilitare/disabilitare questa opt dal pannello admin...
seguite questi step:
QUERY MySQL:
Codice: Seleziona tutto
INSERT INTO `configuration` ( `configuration_id` , `configuration_title` , `configuration_key` , `configuration_value` , `configuration_description` , `configuration_group_id` , `sort_order` , `last_modified` , `date_added` , `use_function` , `set_function` )
VALUES (
'', 'Auto-update Cart', 'AUTO_UPDATE_CART', 'true', 'Update cart items without pressing "update" button?', '1', '22' , '', '', NULL , 'tep_cfg_select_option(array('true', 'false'),'
);
file:
sotto i REQUIRE aggiungere:
Codice: Seleziona tutto
if (AUTO_UPDATE_CART == 'true')
$update_cart = 'this.form.submit();';
else $update_cart = '';
mentre questa riga nel file originale:
Codice: Seleziona tutto
'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']));
diventa:
Codice: Seleziona tutto
'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4" onChange="'. $update_cart .'"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']));
saluti,
teo.
p.s.:
(inferno di Teo ?!! )
e' una storia lunga ma un giorno forse te la spieghero'
p.p.s.:
Per quel che mi riguarda sto lavorando su una contrib per le immagini che spero di rendere disponibile a breve.
se mi dici qlc magari posso esserti utile... ma apri un altro topic x' nn c'entra col subj di questo
Inviato: 03/03/2004, 18:19
da teohell
sorry... ovviamente era chiaro ma nn l'ho spiegato: per modificare l'opzione andate nel pannello ADMIN sotto la voce "configuration" e nella sezione "My Store" in fondo ci sara' un'opzione chiamata "Auto-update Cart" da settare TRUE o FALSE secondo lo stile di OsC
ciao, teo.
Inviato: 03/03/2004, 18:46
da BluEdoG
Ottimo lavoro!
Inviato: 03/03/2004, 21:08
da teohell
grazie mille se non fosse che ho fatto un errore nella sintassi SQL (mancano i caratteri di escape vicino agli apici in fondo)
cmq visto il successo ho deciso di fare un piccolo package e di metterlo online x farlo testare a qualche volenteroso, se vi piace lo mettero' sulle contrib ufficiali di OsC
ah, e ho implementato quella finestra JS che chiede conferma
mi stavo chiedendo se togliere del tutto il pulsante "update cart" che risulta inutile...
commenti, suggerimenti, critiche, ecc. e' tutto ben accetto
saluti, teo.
ah il link!!!!
http://www.zacche.com/autoupdate.zip
Inviato: 03/03/2004, 23:33
da teohell
visto che mi e' appena venuto in mente ho aggiunto or ora anche il supporto x il linguaggio
ciao, teo.
Inviato: 04/03/2004, 5:50
da marcus
teohell ha scritto:
....
ah, e ho implementato quella finestra JS che chiede conferma
azz!!! ... il ragazzo promette bene
Ciao
Marcus Marzullus
Parser error
Inviato: 04/03/2004, 12:44
da kerkes
Ciao
Ho provato a fare la sostituzione del codice così come è indicato ma mi viene segnalato un parser error.
Questo è il codice iniziale
'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']));
questo è il codice che nuovo copiato da questo forum
'text' => tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4" onChange="this.form.submit();"') . [tep_draw_hidden_field('products_id[]', $products[$i]['id']));
io non riesco a capire il perchè mi da l'errore se qualcuno ha voglia di darci una occhiata ma farebbe un vero favore.
Grazie
Davide
Ho trovato la soluzione ai miei problemi
Inviato: 04/03/2004, 13:04
da kerkes
Ciao
Dopo attenta analisi della stringa ho trovato quella corretta
Codice: Seleziona tutto
'text' => tep_draw_input_field('cart_quantity[]', $products[$i] ['quantity'], 'size="4" onChange="this.form.submit();"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']));
a mio giudizio la stringa segnalata era errata perchè conteneva una [ di troppo così come l'ho modificata funziona bene, però vorrei conferma da voi supe esperti della correttezza della mia analisi, php lo conosco poco me la cavo di più in asp e quindi meglio confrontarsi
Grazie comunque a chi ha reso disponibile il codice
Bye
Inviato: 04/03/2004, 13:11
da teohell
si c'era una quadra di troppo... nn so come ci sia finita probabilmente ho fatto qualche cappellata con i tag CODE del forum e poi mi e' rimasta una quadra vagante
cmq nel post piu' sotto era corretta anche se le modifiche da fare erano di piu'
hai x caso scaricato il pacchetto e provato?
http://www.zacche.com/autoupdate.zip
ciao, teo.
No
Inviato: 04/03/2004, 14:51
da kerkes
no non provato il pacchetto completo, ho solo fatto quella modifica a manina.
Ho apero il mio sito per la pesca a mosca ieri e ti dirò che qualsiasi modifica mi fa rizzare i capelli in maniera esagerata.
Ti ringrazio per il codice risolve brillantemente un problema a cui da solo non ci sarei mai arrivato.
Se vuoi farti un giro sul sito ti lascio l'url
http://www.fly-store.com/
Bye
Inviato: 04/03/2004, 16:27
da teohell
uh grande!!!
PESCA A MOSCA!
io sono un patito dello spinning (Adda/Ticino)
e ovviamente essendo un Lumbard DOC
sono un patito di.... LEI... la Regina del Fiume.... la Marmorata!
ciao, teo.
p.s.: cmq ti consiglio le modifiche prima di provarle in locale sul tuo PC, poi se va e se va come avevi pensato, allora le copi sul web