Voici un tutoriel pour vous montrer comment ajouter un champ supplémentaire sur votre fiche produit sous prestashop 1.5.4+
Commencez pas créer le fichier « override/classes/Product.php » et ajoutez-y le code suivant:
<?php class Product extends ProductCore { public $intro_text; public function __construct($id_product = null, $full = false, $id_lang = null, $id_shop = null, Context $context = null) { Product::$definition['fields']['intro_text'] = array('type' => self::TYPE_STRING, 'lang' => true, 'validate' => 'isCatalogName', 'required' => true, 'size' => 128); parent::__construct($id_product, $full, $id_lang, $id_shop, $context); } }
Repérez ensuite le fichier « admin6148/themes/default/template/controllers/products/informations.tpl », copiez-le puis collez-le dans le dossier « override/controllers/admin/templates/products/ ».
Ouvrez votre fichier et repérez le code suivant:
<tr> <td class="col-left"> {include file="controllers/products/multishop/checkbox.tpl" field="name" type="default" multilang="true"} <label>{l s='Name:'}</label> </td> <td style="padding-bottom:5px;" class="translatable"> {foreach from=$languages item=language} <div class="lang_{$language.id_lang}" style="{if !$language.is_default}display: none;{/if} float: left;"> <input class="{$class_input_ajax}{if !$product->id}copy2friendlyUrl{/if} updateCurrentText" size="43" type="text" {if !$product->id}disabled="disabled"{/if} id="name_{$language.id_lang}" name="name_{$language.id_lang}" value="{$product->name[$language.id_lang]|htmlentitiesUTF8|default:''}"/><sup> *</sup> <span class="hint" name="help_box">{l s='Invalid characters:'} <>;=#{}<span class="hint-pointer"> </span> </span> </div> {/foreach} </td> </tr>
Ajoutez juste après ce code:
<tr> <td class="col-left"> <label>{l s='Intro:'}</label> </td> <td style="padding-bottom:5px;" class="translatable"> {foreach from=$languages item=language} <div class="lang_{$language.id_lang}" style="{if !$language.is_default}display: none;{/if} float: left;"> <input class="{$class_input_ajax}{if !$product->id}copy2friendlyUrl{/if} updateCurrentText" size="43" type="text" {if !$product->id}disabled="disabled"{/if} id="intro_text_{$language.id_lang}" name="intro_text_{$language.id_lang}" value="{$product->intro_text[$language.id_lang]|htmlentitiesUTF8|default:''}"/><sup> *</sup> <span class="hint" name="help_box">{l s='Invalid characters:'} <>;=#{}<span class="hint-pointer"> </span> </span> </div> {/foreach} </td> </tr>
Enfin pour l’afficher dans votre template utilisez ceci:
{$product->intro_text}