Onglet supplémentaire dans la fiche produit
Publié: 16 Avr 2010, 04:16
Suite à un souhait exprimé par CORSIDISCOUNT, voici une modification de code qui vous permet d'ajouter un onglet supplémentaire à la fiche produit.
J'ai nommé cet onglet "Caractéristiques", le nom est abrégé dans l'onglet de la fiche produit du catalogue par mesure de place (voir l'image de la fiche produit du catalogue, plus bas).
Il vous faut créer un champ supplémentaire dans la table "product_description" en injectant cette requête via l'onglet "sql" situé dans phpMyAdmin de votre base de données :
Dans le fichier upload\admin\controller\catalog\product.php,
Chercher cette ligne :
Dans le fichier upload\admin\language\french\catalog\product.php,
Ajouter cette ligne :
Dans le fichier upload\admin\view\template\catalog\product_form.tpl,
chercher ces lignes :
Dans le fichier upload\admin\model\catalog\product.php,
chercher cette ligne :
Dans le fichier upload\catalog\controller\product\product.php
chercher ces lignes :
Dans le fichier upload\catalog\language\french\product\product.php
ajouter cette ligne :
Dans le fichier upload\catalog\view\theme\default\template\product\product.php
chercher cette ligne :
Comme vous le constaterez sur l'image de l'admin je n'ai pas inclus l'éditeur HTML "ckeditor" parce que je n'ai pas voulu chercher mais aussi parce qu' il vous suffit de mettre votre texte en code source HTML pour qu'il soit interprété.
Voila ce que cela donne en images :
J'ai nommé cet onglet "Caractéristiques", le nom est abrégé dans l'onglet de la fiche produit du catalogue par mesure de place (voir l'image de la fiche produit du catalogue, plus bas).
Il vous faut créer un champ supplémentaire dans la table "product_description" en injectant cette requête via l'onglet "sql" situé dans phpMyAdmin de votre base de données :
ALTER TABLE `product_description` ADD `characteristic` text collate utf8_bin NOT NULL;
Dans le fichier upload\admin\controller\catalog\product.php,
Chercher cette ligne :
- Code: Tout sélectionner
$this->data['entry_tags'] = $this->language->get('entry_tags');
- Code: Tout sélectionner
$this->data['entry_characteristic'] = $this->language->get('entry_characteristic');
Dans le fichier upload\admin\language\french\catalog\product.php,
Ajouter cette ligne :
- Code: Tout sélectionner
$_['entry_characteristic'] = 'Caractéristiques :';
Dans le fichier upload\admin\view\template\catalog\product_form.tpl,
chercher ces lignes :
- Code: Tout sélectionner
<tr>
<td><?php echo $entry_description; ?></td>
<td><textarea name="product_description[<?php echo $language['language_id']; ?>][description]" id="description<?php echo $language['language_id']; ?>"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['description'] : ''; ?></textarea></td>
</tr>
- Code: Tout sélectionner
<tr>
<td><?php echo $entry_characteristic; ?></td>
<td><textarea name="product_description[<?php echo $language['language_id']; ?>][characteristic]" cols="125" rows="5"><?php echo isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['characteristic'] : ''; ?></textarea></td>
</tr>
Dans le fichier upload\admin\model\catalog\product.php,
chercher cette ligne :
- Code: Tout sélectionner
$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "'");
- Code: Tout sélectionner
$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', characteristic = '" . $this->db->escape($value['characteristic']) . "'");
- Code: Tout sélectionner
$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "'");
- Code: Tout sélectionner
$this->db->query("INSERT INTO " . DB_PREFIX . "product_description SET product_id = '" . (int)$product_id . "', language_id = '" . (int)$language_id . "', name = '" . $this->db->escape($value['name']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', characteristic = '" . $this->db->escape($value['characteristic']) . "'");
- Code: Tout sélectionner
'description' => $result['description']
- Code: Tout sélectionner
'description' => $result['description'],
'characteristic' => $result['characteristic']
Dans le fichier upload\catalog\controller\product\product.php
chercher ces lignes :
- Code: Tout sélectionner
if (isset($this->request->get['description'])) {
$url .= '&description=' . $this->request->get['description'];
}
- Code: Tout sélectionner
if (isset($this->request->get['characteristic'])) {
$url .= '&characteristic=' . $this->request->get['characteristic'];
}
- Code: Tout sélectionner
if (isset($this->request->get['description'])) {
$url .= '&description=' . $this->request->get['description'];
}
- Code: Tout sélectionner
if (isset($this->request->get['characteristic'])) {
$url .= '&characteristic=' . $this->request->get['characteristic'];
}
- Code: Tout sélectionner
$this->data['tab_description'] = $this->language->get('tab_description');
- Code: Tout sélectionner
$this->data['tab_characteristic'] = $this->language->get('tab_characteristic');
- Code: Tout sélectionner
$this->data['description'] = html_entity_decode($product_info['description'], ENT_QUOTES, 'UTF-8');
- Code: Tout sélectionner
$this->data['characteristic'] = html_entity_decode($product_info['characteristic'], ENT_QUOTES, 'UTF-8');
- Code: Tout sélectionner
if (isset($this->request->get['description'])) {
$url .= '&description=' . $this->request->get['description'];
}
- Code: Tout sélectionner
if (isset($this->request->get['characteristic'])) {
$url .= '&characteristic=' . $this->request->get['characteristic'];
}
Dans le fichier upload\catalog\language\french\product\product.php
ajouter cette ligne :
- Code: Tout sélectionner
$_['tab_characteristic'] = 'Caract.';
Dans le fichier upload\catalog\view\theme\default\template\product\product.php
chercher cette ligne :
- Code: Tout sélectionner
<div class="tabs"><a tab="#tab_description"><?php echo $tab_description; ?></a><a tab="#tab_image"><?php echo $tab_image; ?></a><a tab="#tab_review"><?php echo $tab_review; ?></a><a tab="#tab_related"><?php echo $tab_related; ?></a></div>
- Code: Tout sélectionner
<div class="tabs"><a tab="#tab_description"><?php echo $tab_description; ?></a><a tab="#tab_characteristic"><?php echo $tab_characteristic; ?></a><a tab="#tab_image"><?php echo $tab_image; ?></a><a tab="#tab_review"><?php echo $tab_review; ?></a><a tab="#tab_related"><?php echo $tab_related; ?></a></div>
- Code: Tout sélectionner
<div id="tab_description" class="tab_page"><?php echo $description; ?></div>
- Code: Tout sélectionner
<div id="tab_characteristic" class="tab_page"><?php echo $characteristic; ?></div>
Comme vous le constaterez sur l'image de l'admin je n'ai pas inclus l'éditeur HTML "ckeditor" parce que je n'ai pas voulu chercher mais aussi parce qu' il vous suffit de mettre votre texte en code source HTML pour qu'il soit interprété.
Voila ce que cela donne en images :