aquadiscount Posted February 1, 2015 Share Posted February 1, 2015 Bonjour, je galère pour ajouter un champ aux produits, ça marche sur le front mais pas dans l'admin ???!!!! Je veux un checkbox Fragile oui ou non. Voici où j'en suis : - J'ai ajouté un champ tinyint dans ps_product et ps_product_shop - dans /override/classes/Product.php : class Product extends ProductCore { public $isfragile; public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null) { Product::$definition['fields']['isfragile'] = array('type' => self::TYPE_BOOL, 'shop' => true, 'validate' => 'isBool'); parent::__construct($id_product, $full, $id_lang, $id_shop, $context); } } - dans l'admin pour afficher le checkbox dans l'onglet informations : /admin/themes/default/template/controllers/products/informations.tpl , je rajoute : <div class="form-group"> <div class="col-lg-1"></div> <label class="control-label col-lg-2"> {l s='isfragile'} </label> <div class="col-lg-9"> <span class="switch prestashop-switch fixed-width-lg"> <input onclick="" type="radio" name="isfragile" id="isfragile_on" value="1" {if $product->isfragile} checked="checked" {/if} /> <label for="isfragile_on" class="radioCheck"> {l s='Yes'} </label> <input onclick="" type="radio" name="isfragile" id="isfragile_off" value="0" {if !$product->isfragile} checked="checked"{/if} /> <label for="isfragile_off" class="radioCheck"> {l s='No'} </label> <a class="slide-button btn"></a> </span> </div> </div> Alors cela fonctionne bien, si je met sur oui et que j'enregistre, sur le front je récupère 1 pour {$product->isfragile} Si je met sur non et enregistre, j'ai bien 0 sur le front Le souci est que sur le back je ne récupère pas ces valeurs ! {$product->isfragile} me sort un Array , donc ma checkbox ne se met pas sur Non si le champ est à 0. Sur le front tout est ok, et en BDD aussi forcément, j'ai bien 0 ou 1 suivant que j'enregistre avec non ou oui. le souci est juste dans le front pour affichage je capte pas ... Merci de votre aide ! Link to comment Share on other sites More sharing options...
Eolia Posted February 1, 2015 Share Posted February 1, 2015 Pas tout pigé là: Le souci est que sur le back je ne récupère pas ces valeurs ! {$product->isfragile} me sort un Array , donc ma checkbox ne se met pas sur Non si le champ est à 0. Sur le back, comme vous dites, Tools::getValue('isfragile') vous donne quoi ? Link to comment Share on other sites More sharing options...
aquadiscount Posted February 1, 2015 Author Share Posted February 1, 2015 Pas tout pigé là: Sur le back, comme vous dites, Tools::getValue('isfragile') vous donne quoi ? Dans mon fichier informations.tpl ? Link to comment Share on other sites More sharing options...
Eolia Posted February 1, 2015 Share Posted February 1, 2015 Non autant pour moi, Je voulais connaitre le contenu de votre array donc {var_dump( $product->isfragile)} plutôt^^ Link to comment Share on other sites More sharing options...
aquadiscount Posted February 1, 2015 Author Share Posted February 1, 2015 Non autant pour moi, Je voulais connaitre le contenu de votre array donc {var_dump( $product->isfragile)} plutôt^^ ALors cela me donne : array(1) { [1]=> string(1) "1" } } que je sois sur oui ou non c'est pareil ??!! Alors que sur le front dans mon product.tpl , {$product->isfragile} me donne bien 1 ou 0 en fonction de ce que j'ai enregistré Je ne comprend rien Link to comment Share on other sites More sharing options...
Eolia Posted February 1, 2015 Share Posted February 1, 2015 oui c'est curieux... avec un index qui ressemble à la valeur. Sur oui ou non, vous obtenez toujours array(1) { [1]=> string(1) "1" } } ? Link to comment Share on other sites More sharing options...
aquadiscount Posted February 1, 2015 Author Share Posted February 1, 2015 oui c'est curieux... avec un index qui ressemble à la valeur. Sur oui ou non, vous obtenez toujours array(1) { [1]=> string(1) "1" } } ? Si je met sur oui et que j'enregistre, sur le front product.tpl m'affiche bien 1, dans le back cela me sort toujours cet array(1) { [1]=> string(1) "1" } } Si je met sur non et que j'enregistre, sur le front product.tpl m'affiche bien 0 , dans le back cela me sort toujours cet array(1) { [1]=> string(1) "1" } } Les bonnes valeurs sont bien enregistrées en bdd, j'ai vérifié, et de plus sur le front j'ai bien 1 ou 0 en fonction de ce que j'ai enregistré. Le souci est que à cause de ce souci dans le back je ne sais pas si le statut de mon produit est oui ou non pour le champ isfragile. Je débute dans le dev presta mais là je suis bien bloqué Ca marche presque dommage lol Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now