Jump to content

Ajouter un Champ Produit Presta 1.6 - Override Classe Product.php


Recommended Posts

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

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

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

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

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...