Joomla.it Forum
Componenti per Joomla! => Gestione e-commerce => : Generazione2000 21 Jun 2007, 12:58:30
-
Ciao,
ho fatto l'aggiornamento alla nuova versione 1.0.11 prelevandola dal sito ufficiale ( www.virtuemart.com )
Hai me!! che errore!!
mi sono così accorto che:
oltre alle varie variabili inesistenti nella versione originale....
una grande differenza mi lascia perplesso e mi domando come allora viene gestito, mi spiego
La tabella #__{vm}_order_user_info richiamata al termine dell'ordine nella pagina /administrator/components/com_virtuemar/html/checkout.thankyou.php
sembra non venga utilizzata nella versione italiana, in quanto su dei test applicati (con utenti differenti) questa tabella rimane sempre vuota.
Credo che al suo posto venga sempre utilizzata la tabella #__{vm}_user_info e ho fatto riferimento a quest'ultima per non avere errori.
questo è il codice originale:
Il primo errore è nella linea 35 di
/administrator/components/com_virtuemart/html/checkout.thankyou.php
31 /** Retrieve User Email **/
32 $q = "SELECT * FROM #__{vm}_order_user_info WHERE order_id='$order_id' AND address_type='BT'";
33 $db->query( $q );
34 $db->next_record();
35 $user = $db->record[0];
36 $dbbt = $db->_clone( $db );
Il secondo errore è nella linea 60 dello stesso file
54 <?php
55 if( empty($vars['error'])) { ?>
56 <img src="<?php echo IMAGEURL ?>ps_image/button_ok.png" height="48" width="48" align="center" alt="Success" border="0" />
57 <?php echo $VM_LANG->_PHPSHOP_THANKYOU_SUCCESS?>
58
59 <br /><br />
60 <?php echo $VM_LANG->_PHPSHOP_EMAIL_SENDTO .": <strong>". $user->user_email; ?></strong><br />
61 </p>
62 <?php
63 } ?>
Tutti i campi richiesti sono presenti in entrambe le tabelle.
Le domande:
Perchè questa diversità tra le due versioni?
E' dovuta al nuovo aggiornamento o questa modifica nella versione italiana era già presente?
Quali problemi incontro a passare la tabella user_info anzichè order_user_info?
Può essere che si incontrino problemi se uno stesso utente decida di utilizzare un secondo indirizzo di spedizione anzichè quello già inserito, che differenziano non solo nella e-mail ma anche nell'indirizzo reale di spedizione e dati di fatturazione?
La soluzione:
Se modificassi lo script in questa maniera si incontrerebbero problemi di altro genere?
31 /** Retrieve User Email **/
32 $q = "SELECT * FROM #__{vm}_order_user_info WHERE order_id='$order_id' AND address_type='BT'";
/* qui vorrei aggiungere che se il record non viene trovato allora */
33 $q = "SELECT * FROM #__{vm}_user_info WHERE order_id='$order_id' AND address_type='BT'";
/* per il resto i campi non differenziano, dunque non si necessita di modifica */
33 $db->query( $q );
34 $db->next_record();
35 $user = $db->record[0];
36 $dbbt = $db->_clone( $db );
ciao
Stefano
-
non mi sembra ci sia una ita 1.0.10
ultima è 1.0.6 ita
se hai aggiornato da quella 1.0.6 si è un bel casino ........
torna indietro
inoltre nella 1.0.11 hanno riscontrato un errore su due file è quindi c'e un patchina sempre sul sito ufficiale
-
Ciao
vuol dire che avevo già fatto degli aggiornamenti dalla ufficiale, e per fortuna mi era sempre andata bene!! :o
Quello che mi interesserebbe, sarebbe conoscere la differenza nell'uso delle due tabelle
Al momento sto testando il sistema con questa correzzione:
31 /** Retrieve User Email **/
32 $qcount= "select COUNT(order_id FROM #__{vm}_order_user_info WHERE order_id='$order_id' AND address_type='BT'";
33 $db->setQuery( $qcount );
34 $count_order_id = intval( $db->loadResult() );
35 if ($count_order_id < 1) {
36 $q = "SELECT * FROM #__{vm}_user_info WHERE order_id='$order_id' AND address_type='BT'";
37 } else {
38 $q = "SELECT * FROM #__{vm}_order_user_info WHERE order_id='$order_id' AND address_type='BT'";
39 }
40 $db->query( $q );
41 $db->next_record();
42 $user = $db->record[0];
43 $dbbt = $db->_clone( $db );
Dovrebbe funzionare correttamente, giusto?
ciao
Stefano