[RESOLU] Auteur d'une description de produit

Soutien général pour les problèmes techniques avec OpenCart

[RESOLU] Auteur d'une description de produit

Messagepar jeromec » 28 Jan 2011, 22:53

Bonsoir,
Trois personnes rédigent les descriptions des produits et je souhaiterai pouvoir personnaliser cette description en ajoutant l'auteur de celle-ci un peu comme dans l'illustration ci-dessous :
Image
Quelqu'un pourrait-il m'aider ? Merci d'avance
Dernière édition par jeromec le 29 Jan 2011, 22:41, édité 1 fois au total.
Version 1.4.9fr
Template Green-store modifié
Hébergeur 1and1.fr
Avatar de l’utilisateur
jeromec
 
Messages: 52
Inscrit le: 21 Oct 2010, 21:31

Re: Auteur d'une description de produit

Messagepar Imaxine » 28 Jan 2011, 23:03

Ce complément d'information (auteur) doit il être visible dans la fiche produit du catalogue ou est-il destiné qu'à avoir l'auteur de la description dans l'admin et dans un but personnel à la gestion ?
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: Auteur d'une description de produit

Messagepar jeromec » 29 Jan 2011, 15:16

Bonjour,
Merci de te pencher sur cette question.
J'aimerais le faire apparaître dans le catalogue. Par exemple, en remplaçant "Description" dans l'onglet par "Ce qu'en dit untel..." ou un titre de ce genre.
Version 1.4.9fr
Template Green-store modifié
Hébergeur 1and1.fr
Avatar de l’utilisateur
jeromec
 
Messages: 52
Inscrit le: 21 Oct 2010, 21:31

Re: Auteur d'une description de produit

Messagepar Imaxine » 29 Jan 2011, 15:27

Tu désires un onglet supplémentaire ou remplacer le titre de l'onglet ?
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: Auteur d'une description de produit

Messagepar jeromec » 29 Jan 2011, 16:03

Je pense que remplacer le titre de l'onglet en tenant compte de l'auteur de la description suffirait.
Version 1.4.9fr
Template Green-store modifié
Hébergeur 1and1.fr
Avatar de l’utilisateur
jeromec
 
Messages: 52
Inscrit le: 21 Oct 2010, 21:31

Re: Auteur d'une description de produit

Messagepar Imaxine » 29 Jan 2011, 16:26

Pour modifier le titre de l'onglet il faut aller dans catalog/language/french/product/product.php et modifier ce libellé :
Code: Tout sélectionner
$_['tab_description']     = 'Description';

Pour ajouter le nom de l'auteur dans l'onglet, il faut :

- Créer un champ 'author" dans la table "product_description"
- Créer une variable "$author" et inclure toutes les lignes de code que l'on aura créé pour cette variable pour tous ces fichiers :

admin/controller/product/product.php
admin/model/product/product.php
admin/language/french/product/product.php
admin/view/template/product/product.tpl
catalog/controller/product/product.php
catalog/model/product/product.php
catalog/language/french/product/product.php
catalog/view/theme/default/template/product/product.tpl


Voila.
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: Auteur d'une description de produit

Messagepar jeromec » 29 Jan 2011, 16:33

Merci beaucoup.
Je m'y met tout de suite et je ne manque pas de mettre résolu dans le titre du post dès que j'aurai fini.
Version 1.4.9fr
Template Green-store modifié
Hébergeur 1and1.fr
Avatar de l’utilisateur
jeromec
 
Messages: 52
Inscrit le: 21 Oct 2010, 21:31

Re: Auteur d'une description de produit

Messagepar Imaxine » 29 Jan 2011, 18:34

Pour te donner une piste, il te faudra ajouter dans le fichier catalog/view/theme/default/template/product.tpl ta variable "$author" après cette ligne :
Code: Tout sélectionner
      <a tab="#tab_description"><?php echo $tab_description; ?>

Ce qui te donnera :
Code: Tout sélectionner
      <a tab="#tab_description"><?php echo $tab_description; ?><?php echo $author; ?></a>


Tu peux faire le test par exemple, en prenant la variable du nom du produit (qui dans ce document se nomme <?php echo $heading_title; ?>) et l'ajouter après le libellé "Description", ex. :
Code: Tout sélectionner
      <a tab="#tab_description"><?php echo $tab_description; ?> du <?php echo $heading_title; ?></a>

Ce qui te donnera cela :
Pièces jointes
tab_description_titre.png
tab_description_titre.png (143.59 Kio) Consulté 7519 fois
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: Auteur d'une description de produit

Messagepar jeromec » 29 Jan 2011, 22:38

Merci pour tes conseils avisés !

J'ai fini pour la partie "admin"

Pour compléter ce post et si ça peut être utile à quelqu'un, voici les modifications que j'ai dû apporter ( ma variable s'appelle "$caviste" ( au lieu de "$author", comme tu me l'as suggéré précédemment ) et j'ai ajouté un champs "caviste" dans la table "product_description"

Dans admin/language/french/catalog/product.php,
j'ai ajouté cette ligne :
Code: Tout sélectionner
$_['entry_caviste']         = 'Auteur de la description :';

Faire de même pour chaque langue utilisée.

Dans admin/model/catalog/product.php,
j'ai remplacé ce code :
Code: Tout sélectionner
   foreach ($data['product_description'] as $language_id => $value) {
         $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_keywords = '" . $this->db->escape($value['meta_keywords']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . "'");
         }


par celui-ci :
Code: Tout sélectionner
   foreach ($data['product_description'] as $language_id => $value) {
         $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_keywords = '" . $this->db->escape($value['meta_keywords']) . "', meta_description = '" . $this->db->escape($value['meta_description']) . "', description = '" . $this->db->escape($value['description']) . "', caviste = '" . $this->db->escape($value['caviste']) . "'");
         }


Dans admin/view/template/catalog/product_form.tpl,
j'ai ajouté :
Code: Tout sélectionner
<tr>
              <td><?php echo $entry_caviste; ?></td>
            <td>
            <div>
               <?php
               $caviste=isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['caviste'] : '';
               ?>
               <div class="odd">
                  <?php
                  if ($caviste=="Patrick"){?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Patrick" checked="checked" /><?php echo "Patrick"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Antoine"/><?php echo "Antoine"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Laurent"/><?php echo "Laurent"; ?>
                  <?php }
                  elseif ($caviste=="Antoine"){ ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Patrick"/><?php echo "Patrick"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Antoine" checked="checked" /><?php echo "Antoine"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Laurent"/><?php echo "Laurent"; ?>
                  <?php }
                  elseif ($caviste=="Laurent"){ ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Patrick"/><?php echo "Patrick"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Antoine"/><?php echo "Antoine"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Laurent" checked="checked" /><?php echo "Laurent"; ?>
                  <?php }
                  else { ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Patrick"/><?php echo "Patrick"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Antoine"/><?php echo "Antoine"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Laurent"/><?php echo "Laurent"; } ?>
               </div>
            </div>
            </td>
            </tr>
         <tr>

sous le code suivant :
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>


Voilà, je sais que le code est loin d'être "propre" ( surtout dans product_form.tpl ) mais au moins l'idée est là...
Version 1.4.9fr
Template Green-store modifié
Hébergeur 1and1.fr
Avatar de l’utilisateur
jeromec
 
Messages: 52
Inscrit le: 21 Oct 2010, 21:31

Re: [RESOLU] Auteur d'une description de produit

Messagepar Imaxine » 29 Jan 2011, 23:34

Pour le fichier admin/view/template/catalog/product_form.tpl je te suggère cette mise en forme :
Code: Tout sélectionner
         <tr>
              <td><?php echo $entry_caviste; ?></td>
              <td>
               <?php $caviste=isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['caviste'] : ''; ?>
                  <?php
                  if ($caviste=="Patrick"){?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Patrick" checked="checked" /><?php echo "Patrick"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Antoine"/><?php echo "Antoine"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Laurent"/><?php echo "Laurent"; ?>
                  <?php }
                  elseif ($caviste=="Antoine"){ ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Patrick"/><?php echo "Patrick"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Antoine" checked="checked" /><?php echo "Antoine"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Laurent"/><?php echo "Laurent"; ?>
                  <?php }
                  elseif ($caviste=="Laurent"){ ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Patrick"/><?php echo "Patrick"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Antoine"/><?php echo "Antoine"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Laurent" checked="checked" /><?php echo "Laurent"; ?>
                  <?php }
                  else { ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Patrick"/><?php echo "Patrick"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Antoine"/><?php echo "Antoine"; ?>
                  <input type="radio" name="product_description[<?php echo $language['language_id']; ?>][caviste]" value="Laurent"/><?php echo "Laurent"; } ?>
              </td>
            </tr>
         <tr>

Par contre tu n'as fait aucune déclaration de variable pour le fichier admin/controller/catalog/product.php telles que "$entry_caviste","$caviste" ou même "$error_caviste" dans le cas où aucun bouton n'est coché.

Il ne te reste plus maintenant que la partie "catalog"
Imaxine
 
Messages: 3023
Inscrit le: 27 Juil 2009, 19:28

Re: [RESOLU] Auteur d'une description de produit

Messagepar jeromec » 30 Jan 2011, 00:07

Ok. J'ai supprimé les balises DIV inutiles dans product_form.tpl.

Dans admin/controller/catalog/product.php :
j'ai effectivement inséré ceci :
Code: Tout sélectionner
$this->data['entry_caviste'] = $this->language->get('entry_caviste');

entre :
Code: Tout sélectionner
$this->data['entry_description'] = $this->language->get('entry_description');

et :
Code: Tout sélectionner
$this->data['entry_store'] = $this->language->get('entry_store');


Par contre, je n'ai pas déclaré $caviste dans ce fichier.

A l'heure actuelle, j'ai été obligé d'écrire ceci :
Code: Tout sélectionner
<?php $caviste=isset($product_description[$language['language_id']]) ? $product_description[$language['language_id']]['caviste'] : '' ;   ?>

dans product_form.tpl et je pense que j'aurais dû le faire dans dans admin/controller/catalog/product.php : mais où ?
Version 1.4.9fr
Template Green-store modifié
Hébergeur 1and1.fr
Avatar de l’utilisateur
jeromec
 
Messages: 52
Inscrit le: 21 Oct 2010, 21:31


Retour vers Soutien Général

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron
Copyright © 2009-2013 OpenCart France - Tous droits réservés