Pagina 1 di 2

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

Inviato: 08/10/2004, 15:08
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

Inviato: 31/10/2004, 17:47
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.

Inviato: 31/10/2004, 21:13
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 !!!!

Inviato: 01/11/2004, 11:51
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?

Inviato: 01/11/2004, 13:40
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

Inviato: 01/11/2004, 18:32
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.

Inviato: 01/11/2004, 18:45
da phobos
Io avevo risolto in modo semplice, dove si setta la valuta avevo inserito li lo spazio.....

Inviato: 01/11/2004, 18:57
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.

Inviato: 01/11/2004, 19:02
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.

Inviato: 01/11/2004, 19:11
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

Inviato: 01/11/2004, 20:10
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?

Inviato: 19/11/2004, 13:57
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

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

Inviato: 23/12/2004, 12:37
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

Spazio Euro

Inviato: 23/12/2004, 12:42
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?

Inviato: 11/01/2005, 14:02
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