Creare uno spazio fra €/$ e il prezzo di listino

Domande a questioni che hanno già trovato una risposta su questo forum

Moderatore: mod Documentazione

flasher
membro Baby
membro Baby
Messaggi: 57
Iscritto il: 07/07/2004, 0:00

Creare uno spazio fra €/$ e il prezzo di listino

Messaggio da flasher »

Ciao ragazzi,

ho risolto il problemino se pur minimo ma dal mio punto di vista significativo dello spazio tra EUR e il prezzo di listino...

1 - Aprire il file currencies.php situato in includes/classes/currencies.php
2 - Sostituire tutto il codice con...

<?php
/*
$Id: currencies.php,v 1.16 2003/06/05 23:16:46 hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2003 osCommerce

Released under the GNU General Public License
*/

////
// Class to handle currencies
// TABLES: currencies
class currencies {
var $currencies;

// class constructor
function currencies() {
$this->currencies = array();
$currencies_query = tep_db_query("select code, title, symbol_left, symbol_right, decimal_point, thousands_point, decimal_places, value from " . TABLE_CURRENCIES);
while ($currencies = tep_db_fetch_array($currencies_query)) {
$this->currencies[$currencies['code']] = array('title' => $currencies['title'],
'symbol_left' => $currencies['symbol_left'],
'symbol_right' => $currencies['symbol_right'],
'decimal_point' => $currencies['decimal_point'],
'thousands_point' => $currencies['thousands_point'],
'decimal_places' => $currencies['decimal_places'],
'value' => $currencies['value']);
}
}

// class methods
function format($number, $calculate_currency_value = true, $currency_type = '', $currency_value = '') {
global $currency;

if (empty($currency_type)) $currency_type = $currency;

if ($calculate_currency_value == true) {
$rate = (tep_not_null($currency_value)) ? $currency_value : $this->currencies[$currency_type]['value'];
$format_string = $this->currencies[$currency_type]['symbol_left'] . ' ' . number_format(tep_round($number * $rate, $this->currencies[$currency_type]['decimal_places']), $this->currencies[$currency_type]['decimal_places'], $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . ' ' . $this->currencies[$currency_type]['symbol_right'];
// if the selected currency is in the european euro-conversion and the default currency is euro,
// the currency will displayed in the national currency and euro currency
if ( (DEFAULT_CURRENCY == 'EUR') && ($currency_type == 'DEM' || $currency_type == 'BEF' || $currency_type == 'LUF' || $currency_type == 'ESP' || $currency_type == 'FRF' || $currency_type == 'IEP' || $currency_type == 'ITL' || $currency_type == 'NLG' || $currency_type == 'ATS' || $currency_type == 'PTE' || $currency_type == 'FIM' || $currency_type == 'GRD') ) {
$format_string .= ' <small>[' . $this->format($number, true, 'EUR') . ']</small>';
}
} else {
$format_string = $this->currencies[$currency_type]['symbol_left'] . ' ' . number_format(tep_round($number * $rate, $this->currencies[$currency_type]['decimal_places']), $this->currencies[$currency_type]['decimal_places'], $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . ' ' . $this->currencies[$currency_type]['symbol_right'];
}

return $format_string;
}

function is_set($code) {
if (isset($this->currencies[$code]) && tep_not_null($this->currencies[$code])) {
return true;
} else {
return false;
}
}

function get_value($code) {
return $this->currencies[$code]['value'];
}

function get_decimal_places($code) {
return $this->currencies[$code]['decimal_places'];
}

function display_price($products_price, $products_tax, $quantity = 1) {
return $this->format(tep_add_tax($products_price, $products_tax) * $quantity);
}
}
?>


In pratica ho aggiunto solo degli spazi vuoti ove era richiamata la valuta allineata a sinistra e a destra in due segmenti. Ho deciso però di incollare qui tutto il codice per quelli che come me lavorano ad OSC online e non hanno la possibilà di leggere il numero di riga in questione.

Spero che questo possa essere di aiuto a molte persone saluti! :D
Avatar utente
Frabibbo
membro Baby
membro Baby
Messaggi: 74
Iscritto il: 31/08/2004, 0:00
Località: Busto Arsizio - VA - Italy
Contatta:

Messaggio da Frabibbo »

ciao flasher
Francamente credo sia più semplice e veloce modificare il database. :?

Alla tabella currencies alla voce dei simboli della valuta, basta aggiungere uno spazio, e tutto va a posto. :wink:

Ciao.
Prada ceramica - L'arte della ceramicacome stile di vita
Sito dedicato alla ceramica artistica
chiodofisso
membro Junior
membro Junior
Messaggi: 15
Iscritto il: 23/10/2004, 0:00
Località: USA

Messaggio da chiodofisso »

come dice Frabibbo funzia solo se il simbolo e' sulla destra del prezzo mentre sulla sinistra non va.
Almeno questo succede a me :)

Buon Hallowen Raga !!!!
Avatar utente
Frabibbo
membro Baby
membro Baby
Messaggi: 74
Iscritto il: 31/08/2004, 0:00
Località: Busto Arsizio - VA - Italy
Contatta:

Messaggio da Frabibbo »

Ciao a tutti,
Ciao chiodofisso,
chiodofisso ha scritto:come dice Frabibbo funzia solo se il simbolo e' sulla destra del prezzo mentre sulla sinistra non va.
Almeno questo succede a me :)

Buon Hallowen Raga !!!!
Ma non funziona nemmeno ad aggiungere uno spazio alla fine del simbolo?
Prada ceramica - L'arte della ceramicacome stile di vita
Sito dedicato alla ceramica artistica
flasher

Messaggio da flasher »

Ciao,

inizialmente ho tentato modificando il database, ma onestamente non funziona. Perchè quindi cercare altre alternative, se il problema è già stato risolto? :wink:

O forse qualcuno ha dei problemi usando la mia soluzione?

:!: P.S. Lavoro attualmente sulla versione base di OS2
Avatar utente
Frabibbo
membro Baby
membro Baby
Messaggi: 74
Iscritto il: 31/08/2004, 0:00
Località: Busto Arsizio - VA - Italy
Contatta:

Messaggio da Frabibbo »

Ciao flasher

Non credo ci siano problemi con la tua soluzione,

mi sembrava però utile ricordare che esiste una soluzione più semplice,
non per sminuire il tuo lavoro, ma per aiutare anche tutti coloro che avrebbero difficoltà a modificare il codice di osCommerce.

Io stesso, ho potuto risolvere il problema grazie a qualcuno che aveva postato la soluzione in precedenza su questo forum.
Prada ceramica - L'arte della ceramicacome stile di vita
Sito dedicato alla ceramica artistica
phobos
membro Regular
membro Regular
Messaggi: 134
Iscritto il: 16/01/2004, 1:00
Località: ITA
Contatta:

Messaggio da phobos »

Io avevo risolto in modo semplice, dove si setta la valuta avevo inserito li lo spazio.....
Avatar utente
Frabibbo
membro Baby
membro Baby
Messaggi: 74
Iscritto il: 31/08/2004, 0:00
Località: Busto Arsizio - VA - Italy
Contatta:

Messaggio da Frabibbo »

Ciao fhobos,

la soluzione da te prospettata, l'avevo sperimentata anche io, ma senza successo, in alcuni post di parecchio tempo addietro, avevo notato che anche altri avevano avuto il mio stesso insucceso, quindi, ho adottato il consiglio trovato nei post, di modificare il database.

Adesso mi chiedo, e ti chiedo, e chiedo a tutti coloro che sapranno rispondere,

Come è possibile che alcune soluzioni funzinano solo su alcune installazioni ma non su tutte?.

Altra domanda, ma non inerente all'argomento,

Hai notato anche tu qualche problema al codice html di questo forum?

Ciao e grazie.
Prada ceramica - L'arte della ceramicacome stile di vita
Sito dedicato alla ceramica artistica
phobos
membro Regular
membro Regular
Messaggi: 134
Iscritto il: 16/01/2004, 1:00
Località: ITA
Contatta:

Messaggio da phobos »

Onestamente non saprei, forse il tipo di host, ma non saprei, problemi di html a parte qualche firma strana non ne vedo, va bhè io manco riesco a far vedere la firma...... :D

Byezzzzzzz, jo.
Avatar utente
Frabibbo
membro Baby
membro Baby
Messaggi: 74
Iscritto il: 31/08/2004, 0:00
Località: Busto Arsizio - VA - Italy
Contatta:

Messaggio da Frabibbo »

Dunque,

Per la firma la devi impostare nel tuo account, tue info.

poi ogni volta che crei un post, devi selezionare la casella: Attach signature (signatures can be changed in profile), sotto al quadro in qui scrivi.

Se vuoi farlo in automatico, vai in alto nella pagina dove c'è il link profile e seleziona si all'opzione: Always attach my signature:.

Il problema, è che la mia firma, appare strana, mentre invece dovrebbe essere composta da due semplici link.

Bho, forse è un problema di server.

Ciao
Prada ceramica - L'arte della ceramicacome stile di vita
Sito dedicato alla ceramica artistica
flasher
membro Baby
membro Baby
Messaggi: 57
Iscritto il: 07/07/2004, 0:00

Messaggio da flasher »

phobos ha scritto:Io avevo risolto in modo semplice, dove si setta la valuta avevo inserito li lo spazio.....
Ciao phobos,

non potresti essere più preciso?
alfredo
membro Junior
membro Junior
Messaggi: 37
Iscritto il: 08/10/2004, 0:00
Località: Italy

Messaggio da alfredo »

flasher ha scritto:
phobos ha scritto:Io avevo risolto in modo semplice, dove si setta la valuta avevo inserito li lo spazio.....
Ciao phobos,

non potresti essere più preciso?
Credo che si tratti di Amministrazione-Localizzazione-Valute/Monete.
Modifica il campo Simbolo a sinistra e/o Simbolo a destra.

Io ho provato a mettere nel primo campo, e funziona per quanto riguarda l'HTML, ma non per l'email :(

Cmq mettendo "EUR " nel Simbolo a destra non mi funziona, lo spazio viene rimosso già in fase di registrazione sul DB, non quando viene visualizzato.

Alla fine anche io ho aggiunto uno spazio prima di $symbol_right nella definizione di $format_string nei files
admin/includes/classes/currencies.php
includes/classes/currencies.php
.

C'è qualcuno che ha risolto in maniera diversa?

Ciao
Alfredo Tripicchio
Pointel Communication s.r.l.
gio
membro Junior
membro Junior
Messaggi: 6
Iscritto il: 28/11/2004, 1:00
Località: italia
Contatta:

Re: Creare uno spazio fra €/$ e il prezzo di listino

Messaggio da gio »

flasher ha scritto:Ciao ragazzi,

ho risolto il problemino se pur minimo ma dal mio punto di vista significativo dello spazio tra EUR e il prezzo di listino...

1 - Aprire il file currencies.php situato in includes/classes/currencies.php
2 - Sostituire tutto il codice con...

<?php
/*
$Id: currencies.php,v 1.16 2003/06/05 23:16:46 hpdl Exp $

osCommerce, Open Source E-Commerce Solutions
http://www.oscommerce.com

Copyright (c) 2003 osCommerce

Released under the GNU General Public License
*/

////
// Class to handle currencies
// TABLES: currencies
class currencies {
var $currencies;

// class constructor
function currencies() {
$this->currencies = array();
$currencies_query = tep_db_query("select code, title, symbol_left, symbol_right, decimal_point, thousands_point, decimal_places, value from " . TABLE_CURRENCIES);
while ($currencies = tep_db_fetch_array($currencies_query)) {
$this->currencies[$currencies['code']] = array('title' => $currencies['title'],
'symbol_left' => $currencies['symbol_left'],
'symbol_right' => $currencies['symbol_right'],
'decimal_point' => $currencies['decimal_point'],
'thousands_point' => $currencies['thousands_point'],
'decimal_places' => $currencies['decimal_places'],
'value' => $currencies['value']);
}
}

// class methods
function format($number, $calculate_currency_value = true, $currency_type = '', $currency_value = '') {
global $currency;

if (empty($currency_type)) $currency_type = $currency;

if ($calculate_currency_value == true) {
$rate = (tep_not_null($currency_value)) ? $currency_value : $this->currencies[$currency_type]['value'];
$format_string = $this->currencies[$currency_type]['symbol_left'] . ' ' . number_format(tep_round($number * $rate, $this->currencies[$currency_type]['decimal_places']), $this->currencies[$currency_type]['decimal_places'], $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . ' ' . $this->currencies[$currency_type]['symbol_right'];
// if the selected currency is in the european euro-conversion and the default currency is euro,
// the currency will displayed in the national currency and euro currency
if ( (DEFAULT_CURRENCY == 'EUR') && ($currency_type == 'DEM' || $currency_type == 'BEF' || $currency_type == 'LUF' || $currency_type == 'ESP' || $currency_type == 'FRF' || $currency_type == 'IEP' || $currency_type == 'ITL' || $currency_type == 'NLG' || $currency_type == 'ATS' || $currency_type == 'PTE' || $currency_type == 'FIM' || $currency_type == 'GRD') ) {
$format_string .= ' <small>[' . $this->format($number, true, 'EUR') . ']</small>';
}
} else {
$format_string = $this->currencies[$currency_type]['symbol_left'] . ' ' . number_format(tep_round($number * $rate, $this->currencies[$currency_type]['decimal_places']), $this->currencies[$currency_type]['decimal_places'], $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . ' ' . $this->currencies[$currency_type]['symbol_right'];
}

return $format_string;
}

function is_set($code) {
if (isset($this->currencies[$code]) && tep_not_null($this->currencies[$code])) {
return true;
} else {
return false;
}
}

function get_value($code) {
return $this->currencies[$code]['value'];
}

function get_decimal_places($code) {
return $this->currencies[$code]['decimal_places'];
}

function display_price($products_price, $products_tax, $quantity = 1) {
return $this->format(tep_add_tax($products_price, $products_tax) * $quantity);
}
}
?>


In pratica ho aggiunto solo degli spazi vuoti ove era richiamata la valuta allineata a sinistra e a destra in due segmenti. Ho deciso però di incollare qui tutto il codice per quelli che come me lavorano ad OSC online e non hanno la possibilà di leggere il numero di riga in questione.

Spero che questo possa essere di aiuto a molte persone saluti! :D
gio
membro Junior
membro Junior
Messaggi: 6
Iscritto il: 28/11/2004, 1:00
Località: italia
Contatta:

Spazio Euro

Messaggio da gio »

Ciao a tutti,
non ho capito dove mettere lo spazio qui descritto da flasher:

"In pratica ho aggiunto solo degli spazi vuoti ove era richiamata la valuta allineata a sinistra e a destra in due segmenti. Ho deciso però di incollare qui tutto il codice per quelli che come me lavorano ad OSC online e non hanno la possibilà di leggere il numero di riga in questione."



mi potete dire quali sono i punti esatti?
flasher
membro Baby
membro Baby
Messaggi: 57
Iscritto il: 07/07/2004, 0:00

Messaggio da flasher »

Ciao gio,

cerca queste righe di codice...

if ($calculate_currency_value == true) {
$rate = (tep_not_null($currency_value)) ? $currency_value : $this->currencies[$currency_type]['value'];
$format_string = $this->currencies[$currency_type]['symbol_left'] . ' ' . number_format(tep_round($number * $rate, $this->currencies[$currency_type]['decimal_places']), $this->currencies[$currency_type]['decimal_places'], $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . ' ' . $this->currencies[$currency_type]['symbol_right'];

...gli spazi da aggiungere li aggiungi dentro gli apici in rosso :)

Ciao e buon lavoro
Rispondi