Modifier taille texte, UNITES,centimes |
Bienvenue invité ( Connexion | Inscription )
Modifier taille texte, UNITES,centimes |
13 Mar 2014, 21:16
Message
#1
|
|
Ceinture jaune OSC Groupe : Membres Messages : 53 Inscrit : 9-November 04 Lieu : Charleroi Membre no 3721 |
Je tente de trouver réponse à une question que je me pose...
- sur une version 2.3.3 comment faire par exemple pour afficher le prix sur la page product_info.php où les centimes seraient affichés d'une taille plus petite que celle des euro? Par exemple: 53.10€ Pour obtenir un tel résultat j'ai commencé à avancer mais je bûche un peu... 1/ dans product_info.php j'ai envisagé une div pour modifier la section de l'affichage du prix (<?php echo $products_price;?>) qui serait: CODE <DIV class="solo-prix"><SPAN class="soloprix_normal">53</SPAN><SPAN class="soloprix_cents">,10€</SPAN></DIV> 2/ les class qui vont avec dans le stylesheet.css: CODE .solo-prix { padding: 20px 0px 0px; text-align: center; color: rgb(255, 0, 0); display: block; } .soloprix_normal { font-family: "Verdana", Geneva, sans-serif; font-size: 30px; font-weight: bold; } .soloprix_cents { font-family: "Verdana", Geneva, sans-serif; font-size: 22px; font-weight: bold; } à ce stade de test j'obtiens ce que je veux sauf que ce que je cherche à l'intégrer à product_info... Quelqu'un aurait une idée? une retouche dans la classe currencies.php peut-être?? Ce message a été modifié par mihelicjm - 14 Mar 2014, 20:59. -------------------- OsCommerce Bootstrap 2.3.4 visible ici >> Account_Balance_V4 >> Admin Notes with french v2.4_1 >> cronemul >> Extra Info to customer page in admin V1 >> extra_fields_v2_1 >> extra_images_v1-61 >> heardabout_1_25 >> mail-manager >> Menu deroulant date naissance Mini_Images_v2.0 >> Minimum_Order_Amount_1_4 >> Master Password 1_4 >> ordercheck >> Product Serial 1_0 >> PDF_Customer_Invoice_v1.0 >> points_rewardsV2.2beta >> RecoverCartSales 230 >> RMA_Returns_2-6 >> Suivi_colissimo >>
|
|
15 Mar 2014, 21:58
Message
#2
|
|
Ceinture noire OSC Groupe : TechDev Messages : 2757 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Bonjour
Je n'ai pas le temps de m'y pencher en ce moment. C'est un problème de traitement de chaîne. Dans products_info.php, il faut recopier $products_price dans une chaîne $travail. Découper la chaîne $travail en ses éléments généraux (en français, certains sont vides, mais restons internationaux: préfixe monnaie ($) + portion prix + séparateur milliers +.....+ séparateur décimal (, ou .) +partie décimale + postfixe monnair (€) et écrire, dans chaque span, la concaténation des éléments qui vont bien: <span 1>préfixe monnaie ($) . portion prix . séparateur milliers ...... . séparateur décimal</span><span2>partie décimale + postfixe monnair</span> Les éléments intermédiaires sont dans la table currencies et déjà exploités dans la classe du même nom. Si tu peux te lancer... Chti poupon |
|
16 Mar 2014, 00:18
Message
#3
|
|
Ceinture jaune OSC Groupe : Membres Messages : 53 Inscrit : 9-November 04 Lieu : Charleroi Membre no 3721 |
Bonjour Ch'ti_Poupon... et merci de ta réponse somme toute scientifique pour la ceinture blanche que je suis!!! ... mais je pense en avoir déduit l'essentiel qui consisterait en fait à "éclater" l'affichage de base (<?php echo $products_price;?>) en plusieurs portions de façon à contrôler chacune d'elles du genre:
remplacer dans product_info.php CODE <?php echo $products_price;?> par CODE <span1 pour les milliers et dizaines + les séparateurs><?php echo $products_price_dizaines; ?></span><span2 pour les centimes + le symbole €><?php echo $products_price_centimes; ?></span> ... ensuite modification de la chaine d'origine toujours dans product_info.php, modifier: CODE if ($new_price = tep_get_products_special_price($product_info['products_id'])) { $products_price = ' <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span> <del>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</del>'; $sale = '<div class="sale"></div>'; } else { $products_price = '<span class="productSpecialPrice">' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; $sale = ''; } par CODE if ($new_price = tep_get_products_special_price($product_info['products_id'])) { $products_price = ' <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span> <del>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</del>'; $sale = '<div class="sale"></div>'; } else { $products_price_dizaines = '<span class="soloprix_normal">' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; $products_price_centimes = '<span class="soloprix_cents">' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; $sale = ''; } ... et il y aurait pas aussi des modifs à apporter dans includes/classes/currencies.php au niveau des fonctions display_price et format? Je pensais en l'occurrence créer une "fonction format2" et une fonction display_price2 pour laisser ces deux fonctions d'origines gérer les autres pages du site... -------------------- OsCommerce Bootstrap 2.3.4 visible ici >> Account_Balance_V4 >> Admin Notes with french v2.4_1 >> cronemul >> Extra Info to customer page in admin V1 >> extra_fields_v2_1 >> extra_images_v1-61 >> heardabout_1_25 >> mail-manager >> Menu deroulant date naissance Mini_Images_v2.0 >> Minimum_Order_Amount_1_4 >> Master Password 1_4 >> ordercheck >> Product Serial 1_0 >> PDF_Customer_Invoice_v1.0 >> points_rewardsV2.2beta >> RecoverCartSales 230 >> RMA_Returns_2-6 >> Suivi_colissimo >>
|
|
16 Mar 2014, 21:34
Message
#4
|
|
Ceinture noire OSC Groupe : TechDev Messages : 2757 Inscrit : 9-September 08 Lieu : Douai Membre no 22915 |
Bonjour
Ce n'est pas ce que je voulais dire: je n'avais pas écrit du php, mais le fil à appliquer. Modifier une classe n'est pas une bonne idée, sauf dans de rares cas et en prenant garde que la modification s'applique partout où la classe est exploitée. Modifier if new_price et la suite non plus: dans cette partie, on calcule la valeut TTC (si souhaité) dans la monnaie choisie et on assemble, simultanément la chaîne à afficher $products_price. Si tu ne travailles qu'en TTC et en Euro, avec le point décimal, et sans poins séparateur de milliers alors tu peux appliquer le code suivant: Code $initial_products_price = $products_price; $prix = explode('.', $products_price); // $prix[0] contient ce qui est avant le point, $prix[1] ce qui est après ?> <div class="solo-prix"> <h1 style="float: right;"><span class="soloprix_normal"><?php echo ' ' . $prix[0] . '.'; ?></span> <span class="soloprix_cents"><?php echo $prix[1]; ?></h1></span> </div> Mais ce n'est pas universel. Bons essais ! Chti poupon |
|
16 Mar 2014, 22:19
Message
#5
|
|
Ceinture jaune OSC Groupe : Membres Messages : 53 Inscrit : 9-November 04 Lieu : Charleroi Membre no 3721 |
Bonjour Ch'tit_Poupon
A l'instant où je découvre ta réponse je viens justement de tester une autre formule plus fastidieuse mais qui ne me semble pas si mauvaise.. dans product_info.php j'ai modifié ce bout de code: CODE if ($new_price = tep_get_products_special_price($product_info['products_id'])) { $products_price = ' <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span> <del>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</del>'; $sale = '<div class="sale"></div>'; } else { $products_price = '<span class="productSpecialPrice">' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; $sale = ''; } remplacé par celui là: CODE if ($new_price = tep_get_products_special_price($product_info['products_id'])) { $products_price = ' <span class="productSpecialPrice">' . $currencies->display_price($new_price, tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span> <del>' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</del>'; $sale = '<div class="sale"></div>'; } else { // $products_price = '<span class="productSpecialPrice">' . $currencies->display_price($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; $products_price_dizaines = '<span class="soloprix_normal ">' . $currencies->display_price_dizaines($product_info['products_price'], tep_get_tax_rate($product_info['products_tax_class_id'])) . '</span>'; $sale = ''; } plus loin j'ai remplacé l'affichage du prix: CODE <?php echo $products_price;?> par celui-là: CODE <DIV class="solo-prix"><?php echo $products_price_dizaines;?></DIV> dans le stylesheet.css les classes... CODE .solo-prix { padding: 20px 0px 0px; text-align: right; color: rgb(0, 0, 0); display: block; } .soloprix_normal { font-family: "Verdana", Geneva, sans-serif; font-size: 30px; font-weight: bold; } .soloprix_cents { font-family: "Verdana", Geneva, sans-serif; font-size: 22px; font-weight: bold; } et enfin la classe currencies.php où j'ai dupliqué et renommé les fonctions qui m'intéressaient (format + display_price) pour justement que mes modifications ne se répercutent pas ailleurs... j'ai donc rajouté: CODE function format_dizaines($number, $calculate_currency_value = false, $currency_type = '', $currency_value = '') { global $currency; if (empty($currency_type)) $currency_type = $currency; if ($calculate_currency_value == false) { $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'], '<span class="soloprix_cents ">' .$this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point']) . $this->currencies[$currency_type]['symbol_right']. '</span>'; } else { $format_string = $this->currencies[$currency_type][''] . number_format(tep_round($number, $this->currencies[$currency_type]['decimal_point'], $this->currencies[$currency_type]['thousands_point'])) . $this->currencies[$currency_type]['symbol_right']; } return $format_string; } function display_price_dizaines($products_price, $products_tax, $quantity = 1) { return $this->format_dizaines($this->calculate_price($products_price, $products_tax, $quantity)); } Mes recherches sont allées dans ce sens suite à ta suggestion initiale quant à rester international... . Ma méthode est bonne, non? Je m'en vais tester la tienne... Merci pour ton coup de pouce qui m'aura mis sur la voie! -------------------- OsCommerce Bootstrap 2.3.4 visible ici >> Account_Balance_V4 >> Admin Notes with french v2.4_1 >> cronemul >> Extra Info to customer page in admin V1 >> extra_fields_v2_1 >> extra_images_v1-61 >> heardabout_1_25 >> mail-manager >> Menu deroulant date naissance Mini_Images_v2.0 >> Minimum_Order_Amount_1_4 >> Master Password 1_4 >> ordercheck >> Product Serial 1_0 >> PDF_Customer_Invoice_v1.0 >> points_rewardsV2.2beta >> RecoverCartSales 230 >> RMA_Returns_2-6 >> Suivi_colissimo >>
|
|
17 Mar 2014, 00:14
Message
#6
|
|
Ceinture jaune OSC Groupe : Membres Messages : 53 Inscrit : 9-November 04 Lieu : Charleroi Membre no 3721 |
euh... la mienne n'est pas encore tout à fait au point à un détail près: les promos ne s'affichent plus...
-------------------- OsCommerce Bootstrap 2.3.4 visible ici >> Account_Balance_V4 >> Admin Notes with french v2.4_1 >> cronemul >> Extra Info to customer page in admin V1 >> extra_fields_v2_1 >> extra_images_v1-61 >> heardabout_1_25 >> mail-manager >> Menu deroulant date naissance Mini_Images_v2.0 >> Minimum_Order_Amount_1_4 >> Master Password 1_4 >> ordercheck >> Product Serial 1_0 >> PDF_Customer_Invoice_v1.0 >> points_rewardsV2.2beta >> RecoverCartSales 230 >> RMA_Returns_2-6 >> Suivi_colissimo >>
|
|
Version bas débit | Nous sommes le : 28th March 2024 - 15:04 |
Ce site est déclaré auprès de la commision Nationale de l'Informatique et des Libertés (déclaration n°: 1043896) |