[RESOLU] une modif qui marchait ne fonctionne plus

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] une modif qui marchait ne fonctionne plus

Re: [RESOLU] une modif qui marchait ne fonctionne plus

par Saian » 14 févr. 2019, 18:59

Effectivement aux vues de l'énoncé et du code, le bug est étrange.

Pour la peine le code pourrait même être réduit :
$price = $listing['products_price'];
$taxClassId = $listing['products_tax_class_id'];

$price = $price == 0
  ? AMA
  : ($price == 1
    ? ETSY
    : $currencies->display_price($price, tep_get_tax_rate($taxClassId)));

$prod_list_grid .= '<br>' . $price . (in_array($price, array(AMA, ETSY)) ? ':' : '');
$prod_list_contents .= ' <td align="right">' . $price . '</td>';

Re: une modif qui marchait ne fonctionne plus

par frannyz » 14 févr. 2019, 18:54

j'ai ajouté les astérisques pour que vous voyiez ma modif mais bien sur ils n'y sont pas dans le code, d'autre part la dernière accolade correspond a/ferme une accolade beaucoup plus haut dan sle code/ Mais bizarre, alors que ça ne marchait pas, sans que j'ai touché quoi que ce soit ça fonctionne à nouveau alors on peut considerer le sujet clos . Ca restera un mystère
Merci

Re: une modif qui marchait ne fonctionne plus

par Saian » 14 févr. 2019, 18:45

Désolé mais je vois pas comment ce code peut fonctionner avec des lignes d'astérisques et deux accolades à la fin. :mrgreen:

PS : le code un peu plus lisble sans les redondances et les tests inutiles, c'est plus facile à débuguer.
Et pardon j'avais oublié le détail des astérisques :oops:
$price = $listing['products_price'];
$taxClassId = $listing['products_tax_class_id'];

if ($price == 0)
{
  $prod_list_grid .= '<br>' . AMA . ':';
  $prod_list_contents .= ' <td align="right">' . AMA . '</td>';
}
/*******************************************************************/
else if ($price == 1)
{
  $prod_list_grid .= '<br>' . ETSY . ':';
  $prod_list_contents .= ' <td align="right">' . ETSY . '</td>';
}
/**************************************************************/
else 
{
  $price = $currencies->display_price($price, tep_get_tax_rate($taxClassId));
  $prod_list_grid .= '<br>' . $price;
  $prod_list_contents .= ' <td align="right">' . $price . '</td>';
}

une modif qui marchait ne fonctionne plus

par frannyz » 14 févr. 2019, 17:27

bonjour
j'ai modifié un bout de script oscommerce . j'ai ajouté ce qui se trouve entre ***********
quand le prix est a zero une petite phrase s'affiche au lieu du prix j'ai ajouté un elseif si le prix est à 1 une autre phrase s'affiche au lieu du 1 ça a fonctionné pendant une semaine et tout à coup ça ne marche plus. le 0 ne s'affiche toujours pas mais quand le prix est à 1 la seconde phrase ne s'affiche plus mais le prix le fait . Ce qui me chiffonne c'est que norrmalement,si je m'étais trompée dans le codage ça n'aurait pas du fonctionner


if ($listing['products_price'] == 0)
{
$prod_list_grid .= '<br>' . AMA . ':'. (($listing['products_price'] > 1) ? $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) : '');
$prod_list_contents .= ' <td align="right">' . AMA . '</td>';
}
*******************************************************************
else if ($listing['products_price'] == 1)
{
$prod_list_grid .= '<br>' . ETSY . ':'. (($listing['products_price'] > 1) ? $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) : '');
$prod_list_contents .= ' <td align="right">' . ETSY . '</td>';
}
**************************************************************
else {
$prod_list_contents .= ' <td align="right">' . $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) . '</td>';
$prod_list_grid .= '<br>' . (($listing['products_price'] > 1) ? $currencies->display_price($listing['products_price'], tep_get_tax_rate($listing['products_tax_class_id'])) : '');
}}