Jump to content

Ajout de champs de produits dans le BO et le FO dans onglets


Recommended Posts

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

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

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...