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:

Codice: Seleziona tutto

catalog/shopping_cart.php
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 :D
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 :wink:

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 :D
saluti a tutti,
teo.
Semplice ed elegante. Complimenti teohell (inferno di Teo ?!! 8O ),
ottimo esordio :D.

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:

Codice: Seleziona tutto

catalog/shopping_cart.php
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' :twisted:

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 :wink:

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 8)

mi stavo chiedendo se togliere del tutto il pulsante "update cart" che risulta inutile...

commenti, suggerimenti, critiche, ecc. e' tutto ben accetto :D

saluti, teo.

ah il link!!!! :oops:
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 :wink:

ciao, teo.

Inviato: 04/03/2004, 5:50
da marcus
teohell ha scritto:
....

ah, e ho implementato quella finestra JS che chiede conferma 8)
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 :oops:

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 :wink: 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 :wink: