Pounyet Posted May 5, 2015 Share Posted May 5, 2015 (edited) Bonjour, J'ai rajouté plusieurs champs dans ma table product_lang ce qui me permet d'afficher des images ou non dans ma page produit, cette partie là en front office fonctionne parfaitement. Si j'ai un 1 dans le champ j'ai une image, si j'ai un 0 je n'ai pas d'image. J'aimerais maintenant avoir des cases à cocher dans la page produit de mon back office me permettant de remplir plus facilement la base de données sans passer par phpmyadmin. J'ai pu rajouter et mettre en forme mes checkbox sans soucis. Par contre celle ci ne se coche pas. Je vous met mon bout de code ci dessous : <label for="label_ab"> <input type="checkbox" name="label_ab" id="label_ab" {if $product->label_ab == 1}checked="checked"{/if} /> Mon label n°1 </label> Si je fait un {$product->label_ab|print_r} dans ma page j'ai alors comme résultat Array ( [1] => 1 ) 1 Si quelqu'un pouvait me guider un peu je suis perdu là. Merci. Edited May 5, 2015 by Pounyet (see edit history) Link to comment Share on other sites More sharing options...
Pounyet Posted May 6, 2015 Author Share Posted May 6, 2015 Personne pour m'aiguiller un peu ? Il faudrait que j'ais comme résultats 1 et non Array ( [1] => 1 ) 1. Link to comment Share on other sites More sharing options...
J. Danse Posted May 6, 2015 Share Posted May 6, 2015 Bonjour, Comment est défini votre champ "label_ad", au niveau de la définition de l'objet Product ? (Je présume qu'il est défini dans $definition). Link to comment Share on other sites More sharing options...
Pounyet Posted May 6, 2015 Author Share Posted May 6, 2015 Bonjour, J'ai un override dans classes du fichier Product.php avec dedans : <?php class Product extends ProductCore { public $label_ab; public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null) { Product::$definition['fields']['label_ab'] = array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isString'); parent::__construct($id_product, $full, $id_lang, $id_shop, $context); } } ?> J'ai également entendu parlé d'un override de AdminProductsController mais je n'ai pas compris quoi faire dans ce fichier si besoin. Link to comment Share on other sites More sharing options...
herve25 Posted May 6, 2015 Share Posted May 6, 2015 Bonjour, Dans ton override tu as mis que ta propriété est une variable de langue. ( lang = true )Du coup tu peux avoir une valeur par langue , C'est ce qui peut expliquer que tu reçoive un tableau avec les différentes valeurs en back office. Link to comment Share on other sites More sharing options...
Pounyet Posted May 6, 2015 Author Share Posted May 6, 2015 Alors je viens de tester en enlevant cette variable et pas de changement, par contre j'ai fait un test avec un textarea venant d'un tuto sur un site, et ça fonctionne Oo Dans mon fichier override/controllers/admin/templates/products/ j'ai mon fichier informations.tpl et dans ce fichier j'ai mis ça : <tr> <td class="col-left"> {include file="controllers/products/multishop/checkbox.tpl" field="label_ab" type="tinymce" multilang="true"} <label>{$bullet_common_field} {l s='Label AB :'}<br /></label> </td> <td style="padding-bottom:5px;"> {include file="controllers/products/textarea_lang.tpl" languages=$languages input_name='label_ab' input_value=$product->label_ab } <p class="clear"></p> </td> </tr> Et du coup, dans ma zone de textearea j'ai la bonne valeur, et si je la modifie ma base de données se met à jour. Sauf que moi il me faut des case à cocher... Link to comment Share on other sites More sharing options...
Pounyet Posted May 6, 2015 Author Share Posted May 6, 2015 Bon après quelques tests les cases se coche maintenant, je poursuis et je reviens en dire plus. Link to comment Share on other sites More sharing options...
Pounyet Posted May 6, 2015 Author Share Posted May 6, 2015 (edited) Bon par contre la modification me met une erreur : Property Product->producteur is not valid ainsi q'une erreur de cache smarty : Notice à la ligne 451 du fichier /home/bioenbou/www/test/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code[8] Uninitialized string offset: 1Notice à la ligne 458 du fichier /home/bioenbou/www/test/tools/smarty/sysplugins/smarty_internal_templatebase.php(157) : eval()'d code[8] Uninitialized string offset: 1 (producteur est un autre champ que j'ai déjà ajouté dans la base de données précédemment, qui s'affiche correctement dans la page produit mais que je ne souhaite pas avoir dans le back office.) Edited May 6, 2015 by Pounyet (see edit history) Link to comment Share on other sites More sharing options...
Pounyet Posted May 10, 2015 Author Share Posted May 10, 2015 Je remonte le sujet car j'ai toujours mon problème. 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