rquantin Posted February 25, 2015 Share Posted February 25, 2015 PS 1.6.0.11 Bonjour, J'essaye de créer deux nouveaux champs pour les produits: Conseils d'utilisation et Ingrédients J'ai suivi le process de http://www.geraudlacheny.fr mais j'ai deux problèmes: - les champs ne s'enregistrent pas dans la BDD - impossible de faire afficher les onglets Voici les étapes que j'ai suivis: 1) Ajout des colonnes de la BDD ps_product_lang -> conseils ps_product_lang -> ingredients 2) Création du fichier /override/classes/Products.php ------------------------------------------------- class Product extends ProductCore { public $conseils; public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null) { Product::$definition['fields']['conseils'] = array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isString'); parent::__construct($id_product, $full, $id_lang, $id_shop, $context); } } ------------------------------------------------- 3) J'ai supprimé le fichier ./cache/class_index.php 4) J'ai copier/coller le fichier information.tpl , voici le code: ------------------------------------------------- <div class="form-group"> <label class="control-label col-lg-3" for="conseils_{$id_lang}"> {include file="controllers/products/multishop/checkbox.tpl" field="conseils" type="tinymce" multilang="true"} <span class="label-tooltip" data-toggle="tooltip" title="{l s='Appears in the body of the product page.'}"> {l s='Conseils'} </span> </label> <div class="col-lg-9"> {include file="controllers/products/textarea_lang.tpl" languages=$languages input_name='pointsfaibles' class="autoload_rte" input_value=$product->pointsfaibles} </div> </div> ------------------------------------------------- 5) Je suis allé dans mon thème/product.tpl ajouter le code : ------------------------------------------------- <ul id="more_info_tabs" class="idTabs idTabsShort clearfix"> {if $product->description}<li><a id="more_info_tab_more_info" href="#idTab1"><span>{l s='More info'}</span></a></li>{/if} {if $product->conseils}<li><a id="conseils" href="#idTab3"><span>{l s='Conseils'}</span></a></li>{/if} {if $features}<li><a id="more_info_tab_data_sheet" href="#idTab2">{l s='Data sheet'}</a></li>{/if} {if $attachments}<li><a id="more_info_tab_attachments" href="#idTab9">{l s='Download'}</a></li>{/if} {if isset($accessories) AND $accessories}<li><a href="#idTab4">{l s='Accessories'}</a></li>{/if} {if isset($product) && $product->customizable}<li><a href="#idTab10">{l s='Product customization'}</a></li>{/if} {$HOOK_PRODUCT_TAB} </ul> {if isset($features) && $features} <!-- Data sheet --> <section id="idTab2" class="page-product-box"> <table class="table-data-sheet"> {foreach from=$features item=feature} <tr class="{cycle values="odd,even"}"> {if isset($feature.value)} <td>{$feature.name|escape:'html':'UTF-8'}</td> <td>{$feature.value|escape:'html':'UTF-8'}</td> {/if} </tr> {/foreach} </table> </section> <!--end Data sheet --> {/if} {if $product->description} <!-- More info --> <section id="idTab1" class="page-product-box"> {/if} {if isset($product) && $product->description} <!-- full description --> <div class="rte">{$product->description}</div> </section> <!--end More info --> {/if} {if $product->conseils} <!-- Conseils --> <section id="idTab3" class="page-product-box"> <!-- conseils --> <div class="rte">{$product->conseils}</div> </section> <!--end More info --> {/if} <!--HOOK_PRODUCT_TAB --> ------------------------------------------------- J'ai vidé les caches, mais rien à faire. Quelqu'un a-t-il une idée sur le fait que cela ne fonctionne pas? Merci pour vos retour. Cdt rquantin Link to comment Share on other sites More sharing options...
rquantin Posted March 2, 2015 Author Share Posted March 2, 2015 Bonsoir, Est-ce que quelqu'un a une solution au moins pour l'enregistrement du BO à la BDD ? Merci! Link to comment Share on other sites More sharing options...
Nowis Posted March 3, 2015 Share Posted March 3, 2015 Bonjour, Dans le 2), tu n'as pas ajouté le "ingredients" dans ta définition de product. Product::$definition['fields']['ingredients'] = array('type' => self::TYPE_HTML, 'lang' => true, 'validate' => 'isString'); Dans le 4) tu appelles "pointsfaible", qu'il faut remplacer par conseils et idem pour ingredients. Je te conseille d'essayer d'abord uniquement avec "conseils" pour bien comprendre la méthodologie, puis ensuite à renouveller l'opération avec "ingredients". 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