Pagina 1 di 2

problama visualizzazione I.E. vers. 7.0

Inviato: 18/03/2007, 12:47
da Morgana
Salve a tutti ragazzi, ho riscontrato un errore con la nuova versione 7.0 di I.E. ...in pratica io mio carrello è andato sempre alla grande, ma quando ho fatto questo aggiornamento mi esce il seguente errore:

Codice: Seleziona tutto

Warning: main(includes/languages/.php) [function.main]: failed to open stream: No such file or directory in /web/htdocs/www.universityofsuccess.org/home/e-shop/catalog/includes/application_top.php on line 285

Fatal error: main() [function.require]: Failed opening required 'includes/languages/.php' (include_path='.:/php/lib/php/') in /web/htdocs/www.universityofsuccess.org/home/e-shop/catalog/includes/application_top.php on line 285
...con le versioni precedenti è andato tutto ok, io non ho fatto nessuna modifica, infatto provando con altri browser (nel mio caso con Firefox) si vede tutto perfettamente, qual'è il problema? come potrei risolverlo?

...alla riga 285 c'è questo pezzo di codice, ma onestamente non so dov'è che potrebbe essere il problema, cioè perchè la versione 7 lo legge come errore...

Codice: Seleziona tutto

require(DIR_WS_LANGUAGES . $language . '.php');
Ciao e grazie! :(

Inviato: 19/03/2007, 21:33
da Morgana
...ragazzi ma non è mai capitato a nessuno questo problema? ...non c'è nessuno che possa darmi qualche consiglio? Non so proprio cosa fare! :(

Soluzione al problema?

Inviato: 20/03/2007, 0:53
da DarkAmex
è abbastanza semplice,
sul browser non è impostata la lingua (o comunque non è impostata una lingua presente su tuo negozio) la soluzione è (o dovrebbe essere)
modificare il file includes/application_top.php ed effettuare le seguenti modifiche (quelle delimitate "da qui a qui" :

Codice: Seleziona tutto

// set the language
  if (!tep_session_is_registered('language') || isset($_GET['language'])) {
    if (!tep_session_is_registered('language')) {
      tep_session_register('language');
      tep_session_register('languages_id');
    }

    include(DIR_WS_CLASSES . 'language.php');
    $lng = new language();

    if (isset($_GET['language']) && tep_not_null($_GET['language'])) {
      $lng->set_language($_GET['language']);
    } else {
      $lng->get_browser_language();
    }
 
// correct missed language in admin <-- da qui -->
  if (!is_file(DIR_WS_LANGUAGES . $language . '.php')) {

    $language = 'english'; // qui puoi impostare la lingua di default del sito

  }
// end missed language <-- a qui -->

    $language = $lng->language['directory'];
    $languages_id = $lng->language['id'];
  }

// include the language translations
  require(DIR_WS_LANGUAGES . $language . '.php');
Fammi sapere era questo il problema.

Inviato: 20/03/2007, 10:27
da Morgana
// set the language
if (!tep_session_is_registered('language') || isset($_GET['language'])) {
if (!tep_session_is_registered('language')) {
tep_session_register('language');
tep_session_register('languages_id');
}

include(DIR_WS_CLASSES . 'language.php');
$lng = new language();

if (isset($_GET['language']) && tep_not_null($_GET['language'])) {
$lng->set_language($_GET['language']);
} else {
$lng->get_browser_language();
}

// correct missed language in admin <-- da qui -->
if (!is_file(DIR_WS_LANGUAGES . $language . '.php')) {

$language = 'italian'; // qui puoi impostare la lingua di default del sito

}
// end missed language <-- a qui -->

$language = $lng->language['directory'];
$languages_id = $lng->language['id'];
}

// include the language translations
require(DIR_WS_LANGUAGES . $language . '.php');
...no, non va, mi da sempre lo stesso errore...mamma mia sto impazzendo, come diavolo devo fare?! :?

Inviato: 20/03/2007, 17:04
da Morgana
...ragazzi, per favore non lasciatemi così, datemi qualche consiglio, non riesco proprio a risolvere... :(

Inviato: 22/03/2007, 5:29
da DarkAmex
non credo che ci sia una soluzione differente da quella che ti ho indicato... Il messaggio è abbastanza chiaro:

Codice: Seleziona tutto

Failed opening required 'includes/languages/.php'
Non riesce ad aprire il file '.php' ossia manca la variabile relativa alla lingua. Quella variabile la ricava in base alla lingua del browser. se non è settata ti restitusce quell'errore.
La soluzione che ti ho inviato dovrebbe ovviare a questo problema se non lo fa vuol dire che cè qualche problema sul sito (e non credo che dipenda dal browser...)

Inviato: 22/03/2007, 5:30
da DarkAmex
non credo che ci sia una soluzione differente da quella che ti ho indicato... Il messaggio è abbastanza chiaro:

Codice: Seleziona tutto

Failed opening required 'includes/languages/.php'
Non riesce ad aprire il file '.php' ossia manca la variabile relativa alla lingua. Quella variabile la ricava in base alla lingua del browser. se non è settata ti restitusce quell'errore.
La soluzione che ti ho inviato dovrebbe ovviare a questo problema se non lo fa vuol dire che cè qualche problema sul sito (e non credo che dipenda dal browser...)

Inviato: 22/03/2007, 5:30
da DarkAmex
non credo che ci sia una soluzione differente da quella che ti ho indicato... Il messaggio è abbastanza chiaro:

Codice: Seleziona tutto

Failed opening required 'includes/languages/.php'
Non riesce ad aprire il file '.php' ossia manca la variabile relativa alla lingua. Quella variabile la ricava in base alla lingua del browser. se non è settata ti restitusce quell'errore.
La soluzione che ti ho inviato dovrebbe ovviare a questo problema se non lo fa vuol dire che cè qualche problema sul sito (e non credo che dipenda dal browser...)

Inviato: 22/03/2007, 12:05
da Morgana
...no. confermo, credo che sia un problema di riconoscimento della lingua, infatti se all'inidizzo completo dell'ecommerce faccio seguire "/index.php?language=it" me lo apre tranquillamente, solo che onestamente non so perché la tua soluzione non mi funziona, ne ho provate altre simili (girando sul web), ma il risultato non è cambiato, ora riprovo tutti i passaggi, magari nella confusione ho omesso qualcosa...

Inviato: 23/03/2007, 14:49
da DarkAmex
Incolla qui il file /includes/classes/languages.php così vedo se ti posso aiutare in qualche modo e prova a vedere se è impostata la variabile DEFAULT_LANGUAGE nel database (con la funzione di ricerca di phpmyadmin).

Inviato: 23/03/2007, 21:36
da Morgana
...per il file eccolo, l'ho allegato, per il resto ora vedo e ti faccio sapere...
Ciao :)

http://www.universityofsuccess.org/language.zip

Inviato: 23/03/2007, 21:42
da Morgana
...questo è quello che ho trovato nell'SQl, è giusto?

Codice: Seleziona tutto

SELECT * 
FROM `nomedatabase`.`configuration` 
WHERE `configuration_id` LIKE '%DEFAULT_LANGUAGE%'
OR `configuration_title` LIKE CONVERT( _utf8 '%DEFAULT_LANGUAGE%'
USING latin1 ) 
COLLATE latin1_swedish_ci
OR `configuration_key` LIKE CONVERT( _utf8 '%DEFAULT_LANGUAGE%'
USING latin1 ) 
COLLATE latin1_swedish_ci
OR `configuration_value` LIKE CONVERT( _utf8 '%DEFAULT_LANGUAGE%'
USING latin1 ) 
COLLATE latin1_swedish_ci
OR `configuration_description` LIKE CONVERT( _utf8 '%DEFAULT_LANGUAGE%'
USING latin1 ) 
COLLATE latin1_swedish_ci
OR `configuration_group_id` LIKE '%DEFAULT_LANGUAGE%'
OR `sort_order` LIKE '%DEFAULT_LANGUAGE%'
OR `last_modified` LIKE '%DEFAULT_LANGUAGE%'
OR `date_added` LIKE '%DEFAULT_LANGUAGE%'
OR `use_function` LIKE CONVERT( _utf8 '%DEFAULT_LANGUAGE%'
USING latin1 ) 
COLLATE latin1_swedish_ci
OR `set_function` LIKE CONVERT( _utf8 '%DEFAULT_LANGUAGE%'
USING latin1 ) 
COLLATE latin1_swedish_ci
LIMIT 0 , 30

Inviato: 23/03/2007, 21:57
da marcus
Il problema è esattamente quello che ti è stato segnalato sopra.

Probabilmete la nuova versione di explorer non trasmette correttamente la variabile di ambiente HTTP_ACCEPT_LANGUAGE (possibile bug).

Il codice che crea il problema è questo (è da considerarsi a tutti gli effetti un bug di osC):

Codice: Seleziona tutto

if (isset($_GET['language']) && tep_not_null($_GET['language'])) {
$lng->set_language($_GET['language']);
} else {
$lng->get_browser_language();
}
Prova a modificarlo così in modo da forzare la lingua di default:

Codice: Seleziona tutto

if (isset($_GET['language']) && tep_not_null($_GET['language'])) {
$lng->set_language($_GET['language']);
} else {
$lng->set_language(DEFAULT_LANGUAGE);
}

Saluti
Marcus

Inviato: 24/03/2007, 0:48
da DarkAmex
Quello è il odice che va ad eseguire ma dovresti vedere il risultato che ti da...

Dovrebbe assegnare a DEFAULT_LANGUAGE una variabile (non nulla) con valore di due lettere ('it')

fai attenzione anche alle maiuscole/minuscole

Codice: Seleziona tutto

`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 

(85, 'Default Language', 'DEFAULT_LANGUAGE', 'it', 'Default Language', 6, 0, NULL, '2006-01-17 19:24:58', NULL, NULL);
Se 'it' è errato rischia di non visualizzarti nulla perchè in base a quello assegna la lingua del sito se non è disponibile quella del browser.

Inviato: 24/03/2007, 3:36
da marcus
DarkAmex ha scritto: Dovrebbe assegnare a DEFAULT_LANGUAGE una variabile (non nulla) con valore di due lettere ('it')
Non deve assegnare nulla, la costante di configurazione DEFAULT_LANGUAGE è già gestita da osCommerce in maniera consistente con le lingue installate :wink:

Saluti
Marcus