filtre chiffre et calcul

Bonjour,
Je récupère une valeur de ce type
  39.0000
je voudrais la transformer en chiffre avec deux chiffres après la virgule
39,00
pour ensuite effectuer un calcul du
['value'])*(1-1/(1+$tva_livre))]

Comment pourrais-je faire cela avec spip ?
Cordialement,
Bernard le boulet à son regret

Dans mes_fonctions.php tu crées une fonction php :

function ma_tva{$texte} {
  return "bla bla";
}
et ensuite tu as le filtre qui va bien : #TOTO|ma_tva

Trop de SPIP tue le SPIP :wink:

Pat

bernt@ruedesboulets.com a écrit :

Bonjour,
Je récupère une valeur de ce type
  39.0000
je voudrais la transformer en chiffre avec deux chiffres après la virgule
39,00
pour ensuite effectuer un calcul du
['value'])*(1-1/(1+$tva_livre))]

Comment pourrais-je faire cela avec spip ?
Cordialement,
Bernard le boulet à son regret

Pat a écrit :

Trop de SPIP tue le SPIP :wink:

Ma foi tu as raison! Si il devient important d'apprendre SPIP au dépend de php, je ne vois plus l'intérêt! Soit c'est SPIP et qui reste simple... Soit tout le monde se met au php et puis c'est tout!
ATTENTION! Je ne dénigre rien, mais le succès de SPIP risque de lui jouer des tours..et ce serait bien dommage
BB

Pat

bernt@ruedesboulets.com a écrit :

Bonjour,
Je récupère une valeur de ce type
    39.0000
je voudrais la transformer en chiffre avec deux chiffres après la virgule
39,00
pour ensuite effectuer un calcul du
['value'])*(1-1/(1+$tva_livre))]

Comment pourrais-je faire cela avec spip ?
Cordialement,
Bernard le boulet à son regret

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

Il faut créer un filtre personnalisé que tu ajoute dans mes_fonctions
http://www.reflexe-internet.com/blog/2008/01/02/spip-creer-des-filtres/

Donc un truc comme (je sais pas faire de PHP)

function calcul($texte){
$prix=f($texte) … il faut parser la chaine
($prix)*(1-1/(1+$tva_livre))
return $texte;
}

Paul (5eBleu)

2008/12/8 <bernt@ruedesboulets.com>

Bonjour,
Je récupère une valeur de ce type
39.0000
je voudrais la transformer en chiffre avec deux chiffres après la virgule
39,00
pour ensuite effectuer un calcul du
[‹ value ›])*(1-1/(1+$tva_livre))]

Comment pourrais-je faire cela avec spip ?
Cordialement,
Bernard le boulet à son regret


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

Ce serait bien sympa si mes remarques arrivaient à l'heure comme le concorde ! Mais comme le TGV avec quelques heures de retard et sans explication, c'est très nul.

Bernard Blazin a écrit :

Pat a écrit :

Trop de SPIP tue le SPIP :wink:

Ma foi tu as raison! Si il devient important d'apprendre SPIP au dépend de php, je ne vois plus l'intérêt! Soit c'est SPIP et qui reste simple... Soit tout le monde se met au php et puis c'est tout!
ATTENTION! Je ne dénigre rien, mais le succès de SPIP risque de lui jouer des tours..et ce serait bien dommage
BB

Pat

bernt@ruedesboulets.com a écrit :

Bonjour,
Je récupère une valeur de ce type
    39.0000
je voudrais la transformer en chiffre avec deux chiffres après la virgule
39,00
pour ensuite effectuer un calcul du
['value'])*(1-1/(1+$tva_livre))]

Comment pourrais-je faire cela avec spip ?
Cordialement,
Bernard le boulet à son regret

_______________________________________________
liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip

Paul a écrit :

Donc un truc comme (je sais pas faire de PHP)

tu te crées une fonction dans ton fichier 'mes_fonctions.php'
(que tu déposes dans squelettes/) :

<?php
function calcul_ttc($valeur_ht, $taux_tva = '19.6') {
   $tva = floatval($valeur_ht) * floatval($taux_tva) / 100;
   $valeur_ttc = floatval($valeur_ht) + $tva;
   return sprintf("%01.2f",round($valeur_ttc, 2));
}
?>

cette fonction/filtre est à appeler dans tes squelettes par :
   [(#ENV{valeur}|calcul_ttc{#ENV{tva_livre}})]
ou encore :
   [(#ENV{valeur}|calcul_ttc{5.5})]

en sachant que 'valeur' est une variable passée dans l'environnement
(dans l'url par exemple) :
   #URL_ARTICLE|parametre_url{valeur, 102.45}
et que 'tva_tx' est passée soit à l'identique :
   #URL_ARTICLE|parametre_url{valeur, 102.45}|parametre_url{tva_tx, 5.5}
soit une constante que tu précises dans le squelette
   #ENV{valeur}|calcul_ttc{5.5}

attention à bien utiliser le point (102.45) comme signe décimal ;
la virgule (102,45) faussant le calcul.

Selon Bernard Blazin <bernard.blazin@free.fr>:

Pat a écrit :
>
>
> Trop de SPIP tue le SPIP :wink:
>
Ma foi tu as raison! Si il devient important d'apprendre SPIP au dépend
de php, je ne vois plus l'intérêt! Soit c'est SPIP et qui reste
simple... Soit tout le monde se met au php et puis c'est tout!
ATTENTION! Je ne dénigre rien, mais le succès de SPIP risque de lui
jouer des tours..et ce serait bien dommage
BB

Bonjour,
J'utilise SPIP depuis huit ans... Malgré une réelle volonté d'apprendre le PHP,
je reste "prisonnier" de SPIP, de son langage si facile à manier.
Aussi, j'ai trouvé ma réponse avec SPIP.
[(#VALUE|moins{[(#VALUE|div{1.055})]})]
Cordialement,
Bernard Strainchamps

Je suis désolé mais je ne comprend pas le sens de la remarque… SPIP est une couche logicielle et PHP une autre, en dessous… Justement la solution que je propose est en PHP, les filtres c’est fait pour ça non ?

Et le cas représenté est un usage étendu/détourné de SPIP, donc forcément ça complique.

Paul (5eBleu)

Le 8 décembre 2008 22:53, Bernard Blazin <bernard.blazin@free.fr> a écrit :

Ce serait bien sympa si mes remarques arrivaient à l’heure comme le concorde ! Mais comme le TGV avec quelques heures de retard et sans explication, c’est très nul.

Bernard Blazin a écrit :

Pat a écrit :

Trop de SPIP tue le SPIP :wink:

Ma foi tu as raison! Si il devient important d’apprendre SPIP au dépend de php, je ne vois plus l’intérêt! Soit c’est SPIP et qui reste simple… Soit tout le monde se met au php et puis c’est tout!
ATTENTION! Je ne dénigre rien, mais le succès de SPIP risque de lui jouer des tours…et ce serait bien dommage
BB

Pat

bernt@ruedesboulets.com a écrit :

Bonjour,
Je récupère une valeur de ce type
39.0000
je voudrais la transformer en chiffre avec deux chiffres après la virgule
39,00
pour ensuite effectuer un calcul du
[‹ value ›])*(1-1/(1+$tva_livre))]

Comment pourrais-je faire cela avec spip ?
Cordialement,
Bernard le boulet à son regret


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip


liste spip
spip@rezo.net - désabonnement : spip-off@rezo.net

Infos et archives : http://listes.rezo.net/mailman/listinfo/spip

Documentation de SPIP : http://www.spip.net/

irc://irc.freenode.net/spip ou http://embed.mibbit.com/?server=irc.freenode.net&channel=%23spip