Curiosità su variabili di testo

Postate qui discussioni di carattere generale riguardo a problemi di installazione e configurazione di osCommerce

Moderatore: mod Generali

Rispondi
Avatar utente
semolino
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 03/04/2006, 19:43

Curiosità su variabili di testo

Messaggio da semolino »

Sappiamo che i testi sono scritti nei file della lingua.
Nelle pagine i testi vengono richiamati in questo modo:

<?php echo PULL_DOWN_DEFAULT; ?>

e nel file della lingua c'è

define('PULL_DOWN_DEFAULT', 'Selezionare');

Se provo a fare in un nuovo file che definisce

define('PROVA', 'xxxx');
a video ottengo
PROVA e no xxxx

Come mai?
Di solito le variabili non si stampano con echo $variabile?
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Re: Curiosità su variabili di testo

Messaggio da Bass »

semolino ha scritto: Come mai?
Di solito le variabili non si stampano con echo $variabile?
Hai rimandato il nuovo file a un suo file di lingua?

'iao

Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto

http://www.semilandia.it
Avatar utente
semolino
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 03/04/2006, 19:43

Messaggio da semolino »

In testa alla nuova pagina io faccio l'include del nuovo faile di lingua.
Ma non me li in terpreta... :(
Strano, però.
gioborza
membro Regular
membro Regular
Messaggi: 121
Iscritto il: 12/07/2005, 13:02

Messaggio da gioborza »

hai aperto e chiuso correttamente i tag php?

<? ........?>
Avatar utente
semolino
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 03/04/2006, 19:43

Messaggio da semolino »

Dunque ho questa situazione:
un file italian.php che contiene
define('TITLE', 'MioSito.it');
define('FOOTER', 'cxcxcxc');

un file index.php che è cosi:
include('includes/languages/ialian.php');
...
<title><?php echo TITLE; ?></title>
...
<?php require('footer.php'); ?> (che contiene)
<?php echo FOOTER; ?>

Quello che ottengo è
TITLE
FOOTER
invece di
MioSito
cxcxcxcx

Proprio non capisco.
Guardando il codice di osc ho trovato questo, centra qualcosa?

Codice: Seleziona tutto

if (!tep_session_is_registered('language') || isset($HTTP_GET_VARS['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($HTTP_GET_VARS['language']) && tep_not_null($HTTP_GET_VARS['language'])) {
      $lng->set_language($HTTP_GET_VARS['language']);
    } else {
      $lng->get_browser_language();
    }

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

// include the language translations
  require(DIR_WS_LANGUAGES . $language . '.php');
gioborza
membro Regular
membro Regular
Messaggi: 121
Iscritto il: 12/07/2005, 13:02

Messaggio da gioborza »

il tuo italian.php deve iniziare e finire con <?php ......e....?>
così:
<?php
define('TITLE', 'MioSito.it');
define('FOOTER', 'cxcxcxc');
?>

Stessa cosa per l'index.php ...apri e chiudi i tag..attenzione nell'include dell'index hai scritto "ialian" e non Italian!!!

prova!
Avatar utente
semolino
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 03/04/2006, 19:43

Messaggio da semolino »

Ma porca miseria!!!!! Era solo colpa dell'italian scritto male!!!
Per il consiglio che mi hai dato di aprire e chiudere con <?php ?>... lo so :lol:
Non l'ho riportato nell'esempio, ma grazie lo stesso.

Funziona!!
Come posso fare per far riconoscere al sistema la lingua e includere i diversi file?
Sto creando una sezione del sito che funziona parallelamente al osc, guindi vorrei utilizzare gli stessi criteri.
gioborza
membro Regular
membro Regular
Messaggi: 121
Iscritto il: 12/07/2005, 13:02

Messaggio da gioborza »

Ciao, da buon ex programmatore di vari linguaggi ti posso dare un consiglio, soprattutto quando stai lavorando da molte ore, si fa oltre mezzanotte (come nel caso del tuo post!) e, leggi e rileggi, una cosa che hai fatto centomila volte ti sembra giusta ma non vuole funzionare: vattene a dormire o in alternativa prenditi un caffè e soprattutto un po' d'aria, dopo tutto ti sembrerà più chiaro ed evidente!
Io la chiamo tecnica dell'ossigeno........

ciao ciao
Avatar utente
semolino
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 03/04/2006, 19:43

Messaggio da semolino »

Hai ragione!!! :lol:
Mi puoi dare un consiglio di come comportarmi con le lingue? Il modo più semplice per capire che lingua includere? Devo salvarle in sessioni?
gioborza
membro Regular
membro Regular
Messaggi: 121
Iscritto il: 12/07/2005, 13:02

Messaggio da gioborza »

Ciao, non ho ben capito cosa vuoi fare con le lingue ma la gestione di base dell'osc mi sembra già più che completa.
Se intendi dire quali lingue installare invece, quello devi stabilirlo in base al contenuto del tuo sito ed al target di riferimento........

ciaociao
Avatar utente
semolino
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 03/04/2006, 19:43

Messaggio da semolino »

Ora ti spiego bene, forse l'ho scritto a spizzichi nelle varie risposte.
Praticamente sto realizzando una parte del sito che è in parallelo con l'osc. Ovviamente anche per questa parte do' la possibilità di scegliere le lingue. Mi piacerebbe utilizzare lo stesso metodo per capire che lingua tilizzare per poter aggiungere un file nella cartella italian/ , english/, ecc che contiene le definizioni di testo che servono a questa parte del sito.

Vorrei capire in che modo il sistema capisce che lingua includere (ovviamente parlo del codice contenuto nelle pagine di osc) in modo da poterlo studiare e capire come intervenire sulla mia nuova parte.
gioborza
membro Regular
membro Regular
Messaggi: 121
Iscritto il: 12/07/2005, 13:02

Messaggio da gioborza »

Osc salva tutta una serie di variabili nel db nella tabella sessions tra cui la veriabile della lingua di default e quella eventualmente selezionata sucessivamente e poi immagino che le usi per la gestione delle pagine.
In ogni caso mi sembra una gestione di variabili globali o comunque molto simili. In realtà non ho mai approfondito ma spero che non rilegga il db ogni volta che gli serve una di quelle variabili!
Avatar utente
semolino
membro Junior
membro Junior
Messaggi: 31
Iscritto il: 03/04/2006, 19:43

Messaggio da semolino »

Già, non sarebbe l'ideale...
Se quacluno sa dirmi qualcosa di più è ben accetto :wink:
Bass
membro Master
membro Master
Messaggi: 3593
Iscritto il: 18/04/2004, 0:00
Località: Varese
Contatta:

Messaggio da Bass »

semolino ha scritto: Se quacluno sa dirmi qualcosa di più è ben accetto :wink:
E' una sola variabile $language che viene impostata o tramite cookie o tramite la lingua di default. Poi in ogni file viene richiamato il file di lngua corretto tramite questa riga (es. per product_info.php)

Codice: Seleziona tutto

  require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_PRODUCT_INFO);
'iao

Sergio
http://www.oscomtemplate.com - E' disponibile il nuovo pacchetto free con forum di supporto

http://www.semilandia.it
Rispondi