Jump to content

AntonyM

Members
  • Posts

    4
  • Joined

  • Last visited

About AntonyM

  • Birthday 11/20/1992

Profile Information

  • First Name
    Antony
  • Last Name
    Maurin

Recent Profile Visitors

88 profile views

AntonyM's Achievements

Newbie

Newbie (1/14)

0

Reputation

1

Community Answers

  1. Bonjour à tous, Je m'appelle Antony, je suis développeur Web dans une agence de Communication et de création de site Web. Je rencontre en ce moment pour un client avec une boutique Prestashop 1.7.0.6 un soucis sur les enregistrements des prix de déclinaisons. Je m'explique, lorsque mon client ajoute ses impacts sur le tarif sur ces x déclinaisons par exemple ( 32,33€ , 111,64€, 171,96€) à la première création pas de soucis les valeurs sont bien enregistrées en base de donnée je suis aller vérifier, cependant si il revient plus tard effectuer une modif sur un seul impact prenons comme exemple la valeur 32,33€ remplacé par 35,90€. A ce moment la lors de l'enregistrement la valeur 35,90€ est bien ajouté mais les autres valeurs passe a 111 et 171 coté Front et Back Office on obtient une perte des décimale à l'actualisation des pages en question. Ayant eu des soucis avec le thème choisis j'ai tester auparavant mon problème sur un prestashop vierge avec le thème classic et j'obtiens le même résultat. J'aurais souhaiter savoir si des personnes on constaté le même soucis sur leur boutique ? Je suis actuellement entrain de regarder coté envoie de données coté BO, la seul idée d'orientation trouvé à ce jour et celle-ci: A l'enregistrement du produit avec l'inspecteur des échange réseau dans la requete POST on peux voir : Impact de prix modifier avant enregistrement : combination_50[attribute_price] 33.64 Alors que sans modification : combination_50[attribute_price] 33,640000 je pense qu'il doit y avoir un soucis avec le séparateur des décimales mais je n'arrive pas encore a tracer a quel endroit ce passe cette envois de donnée afin de pouvoir tester ma theorie. Je vous souhaite à tous une bonne journée.
  2. Merci okom3pom pour ton aide, à force de chercher un peu de mon coté et en mettant en commentaire mon appel de fonction récursive, ma variable arrive sans problème. Du coup j'ai changer mon appel récursif par une boucle While. public function getCategBdd($id){ $result = ""; $results = ""; $id_parent = $id; $level = ""; $var = ""; $results = Db::getInstance()->ExecuteS('SELECT id_parent, level_depth FROM `'._DB_PREFIX_.'category` WHERE `id_category` = '.$id_parent); while($level != 3){ $results = Db::getInstance()->ExecuteS('SELECT id_parent, level_depth FROM `'._DB_PREFIX_.'category` WHERE `id_category` = '.$id_parent); foreach ( $results as $f ){ $id_parent = $f['id_parent']; $level = $f['level_depth']; } } $result = Db::getInstance()->getValue('SELECT name FROM `'._DB_PREFIX_.'category_lang` WHERE `id_category` = ' . $id_parent); if($result == "ELECTRICITE"){ $var = 1; } else { $var = 0; } return $var; } En utilisant la boucle While je réalise le même traitement de données cependant avec la récupération de ma variable. Je pense au final que ma récursivité devait poser soucis sur les variables qui devait ce chevaucher sans jamais réellement aboutir au résultat attendu (peut être le buffer qui garder tous en mémoire). Pour ma part mon problème a été Résolu. Encore merci et bonne journée
  3. Merci okom3pom pour ta réponse rapide, je m'étais déjà orienté dans la direction de l'utilisation du {assign} . Coté product.tpl de cette manière j'obtiens bien mon affichage "l'id parent est : Test" {assign var="id_parent" value="Test" } <h2>l'id parent est : {$id_parent}</h2> Sous cette forme je ne récupère aucun retour de ma fonction getCategBdd() : {assign var="id_parent" value=Product::getCategBdd($category->id) } <h2>l'id parent est : {$id_parent}</h2> public function getCategBdd($id){ $result = ""; $results = ""; $id_parent = ""; $level = ""; $var = ""; $results = Db::getInstance()->ExecuteS('SELECT id_parent, level_depth FROM `'._DB_PREFIX_.'category` WHERE `id_category` = '.$id); foreach ( $results as $f ){ $id_parent = $f['id_parent']; $level = $f['level_depth']; if($level == 2){ $result = Db::getInstance()->getValue('SELECT name FROM `'._DB_PREFIX_.'category_lang` WHERE `id_category` = ' . $id); if($result == "ELECTRICITE"){ $var = "true"; } else { $var = "false"; } } else { Product::getCategBdd($id_parent); } } return $var; } Mais par contre si à la place de mon return $var qui contient une chaine de caractère, je passe un return "true" la mon affichage s’exécute correctement. Sur la doc smarty {assign} j'ai aussi vu la méthode du assign avec l'utilisation de "getTemplateVars()" est ce qu'il faudrait m'orienter plus vers cette option ? Ou bien est ce que ce problème pourrait survenir de ma fonction récursive qui poserait des problèmes à la réception des données ?
  4. Bonjour à tous, Je me permets de vous contacter pour essayer d'obtenir des informations pour mon problème. Je travail sur la version 1.7 de Prestashop. A ce jour j'essaye de récupérer la catégorie principal (level_depth = 2), la catégorie présente directement après l'accueil. Pour ce faire j'ai ajouter une fonction dans la class Product : public static function getCategBdd($id){ $results = Db::getInstance()->ExecuteS('SELECT * FROM `'._DB_PREFIX_.'category` WHERE `id_category` = '.$id); foreach ( $results as $f ){ $id_parent = $f['id_parent']; $level = $f['level_depth']; if($level != 2){ Product::getCategBdd($id_parent); } else { $result = Db::getInstance()->getValue('SELECT name FROM `'._DB_PREFIX_.'category_lang` WHERE `id_category` = ' . $id); echo $result; } } } Et dans le fichier product.tpl j'appel ma fonction en question : {Product::getCategBdd($category->id)} Avec l'utilisation du "echo $result" j'obtiens bien ma catégorie souhaité à l'affichage pour cet exemple "ELECTRICITE". Cependant lorsque je souhaite transformer mon echo en "return" afin de pouvoir effectuer un test dessus je n'arrive pas à l'obtenir depuis le fichier tpl. Afin de tenter de récupérer cette variable je procède actuellement de cette façon : {$data = Product::getCategBdd($category->id)} {$data} Avec ce bout de code je n'obtiens aucunes erreur, mais aucun affichage non plus. Je ne souhaite pas obtenir du code bettement, je souhaite en priorité comprendre mon erreur et apprendre la meilleure façon pour procéder a mon attente. Je vous remercie d'avance et vous souhaite à tous une bonne soirée.
×
×
  • Create New...