Nous ne répondons seulement qu'aux sujets dont l'auteur a complété sa signature [Lire]



Vous avez des soucis avec votre Opencart v1.5.x, nous pouvons résoudre vos problèmes,
contactez le Bureau France !

par tel: 0 891 690 175 ou par
email

Onglet supplémentaire dans le header ?

Programmation, discussions et suggestions pour l'amélioration de OpenCart

Onglet supplémentaire dans le header ?

Messagepar Farfa » 01 Avr 2011, 17:39

Bonjour , j'ai besoin d'aide car j'aimerais rajouter un onglet supplémentaire dans le header de ma boutique.
Image
Hélas , je cale sur certaines modifications.
Mes étapes :
1- J'ai commencé par modifier le css de mon template pour "ramener" les onglets sur le bord gauche et ainsi faire de la place pour le (ou les) nouveaux onglets.
catalog/view/theme/montemplate/stylesheet/stylesheet.css
Code: Tout sélectionner
#header .div4 {
   width: 945px;
   clear: right;
   float: right;
   height: 32px;
   padding-right: 14px;

2- Pour nommer le nouvel onglet , j'ai rajouté ce code dans
catalog/language/french/common/header.php
et/ou
catalog/language/english/common/header.php
Code: Tout sélectionner
$_['text_tutors3d'] = 'Tutors 3D';

3- ensuite ... c'est là que je cale ! dans
catalog/view/theme/montemplate/template/common/header.tpl
Code: Tout sélectionner
<div class="div4">
   <a href="<?php echo str_replace('&', '&amp;', $home); ?>" id="tab_home"><?php echo $text_home; ?></a>
      <?php if (!$logged) { ?>
      <a href="<?php echo str_replace('&', '&amp;', $login); ?>" id="tab_login"><?php echo $text_login; ?></a>
      <?php } else { ?>
      <a href="<?php echo str_replace('&', '&amp;', $logout); ?>" id="tab_logout"><?php echo $text_logout; ?></a>
      <?php } ?>
      <a href="<?php echo str_replace('&', '&amp;', $account); ?>" id="tab_account"><?php echo $text_account; ?></a>
     <a href="<?php echo str_replace('&', '&amp;', $cart); ?>" id="tab_cart"><?php echo $text_cart; ?></a>
     <a href="<?php echo str_replace('&', '&amp;', $checkout); ?>" id="tab_checkout"><?php echo $text_checkout; ?></a>
     </div>

je crois avoir compris qu'il me faut ajouter une ligne (par onglet supplémentaire) dans cette parcelle de code mais j'ignore laquelle exactement.
Mes questions :
A- Que dois je ajouter comme ligne ?
B- Faut il modifier (ou voir même créer) un autre fichier que ceux précités ?
Merci par avance.
Dernière édition par Farfa le 01 Avr 2011, 23:08, édité 2 fois.
version Opencart : 1.4.9.1 Fr // *En test* v1.5.0.5 Patch Fr .
Hebergeur : http://www.punchost.com
Template : default ... personnalisé
Avatar de l’utilisateur
Farfa
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 60
Inscription: 18 Nov 2010, 00:13
Localisation: Belgique

Re: onglet supplémentaire dans le header ?

Messagepar LeorLindel » 01 Avr 2011, 18:54

Dans le cas où tu souhaites ajouter ton nouvel onglet après l'onglet "Commander", il te faut établir cet onglet dans la zone lui étant imparti, il te faut donc inclure cette portion de code avant la fermeture de cette zone (<div>) :
Code: Tout sélectionner
<a href="<?php echo str_replace('&', '&amp;', $tutors); ?>" id="tab_tutors"><?php echo $text_tutors3d; ?></a>
et après l'onglet "Commander" :
Code: Tout sélectionner
<a href="<?php echo str_replace('&', '&amp;', $checkout); ?>" id="tab_checkout"><?php echo $text_checkout; ?></a>
Ce qui te donnera :
Code: Tout sélectionner
      <a href="<?php echo str_replace('&', '&amp;', $account); ?>" id="tab_account"><?php echo $text_account; ?></a><a href="<?php echo str_replace('&', '&amp;', $cart); ?>" id="tab_cart"><?php echo $text_cart; ?></a><a href="<?php echo str_replace('&', '&amp;', $checkout); ?>" id="tab_checkout"><?php echo $text_checkout; ?></a><a href="<?php echo str_replace('&', '&amp;', $tutors); ?>" id="tab_tutors"><?php echo $text_tutors3d; ?></a></div>

Il te faut aussi déterminer le chemin où se situera le fichier concernant la page supplémentaire relative à ce nouvel onglet. Le code relatif à la modification commence à la ligne 185
Code: Tout sélectionner
      if (route == 'common/home') {
         $('#tab_home').addClass('selected');
      } else if (route == 'account/login') {
         $('#tab_login').addClass('selected');   
      } else if (part[0] == 'account') {
         $('#tab_account').addClass('selected');
      } else if (route == 'checkout/cart') {
         $('#tab_cart').addClass('selected');
      } else if (part[0] == 'checkout') {
         $('#tab_checkout').addClass('selected');
      } else {
         $('#tab_home').addClass('selected');
      }

Il te faut donc inclure ton onglet "tutors" après l'onglet "chekout", ce qui te donne :
Code: Tout sélectionner
      if (route == 'common/home') {
         $('#tab_home').addClass('selected');
      } else if (route == 'account/login') {
         $('#tab_login').addClass('selected');   
      } else if (part[0] == 'account') {
         $('#tab_account').addClass('selected');
      } else if (route == 'checkout/cart') {
         $('#tab_cart').addClass('selected');
      } else if (part[0] == 'checkout') {
         $('#tab_checkout').addClass('selected');
      } else if (part[0] == 'tutors') {
         $('#tab_tutors').addClass('selected');
      } else {
         $('#tab_home').addClass('selected');
      }

Voilà pour le fichier header.tpl

Dans le fichier catalog/controller/header.php, après cette ligne :
Code: Tout sélectionner
       $this->data['text_checkout'] = $this->language->get('text_checkout');

il te faut ajouter :
Code: Tout sélectionner
       $this->data['ttext_tutors3d'] = $this->language->get('text_tutors3d');
afin que le texte associé soit relatif aux langues désirées.
Il te faut aussi définir la destination du lien de ton onglet. Pour cela il te faut après cette ligne
Code: Tout sélectionner
      $this->data['checkout'] = HTTPS_SERVER . 'index.php?route=checkout/shipping';

ajouter le chemin de ton onglet (ceci est un exemple car je ne connais l'endroit où va pointer ton onglet)
Code: Tout sélectionner
      $this->data['tutors'] = HTTPS_SERVER . 'index.php?route=checkout/tutors';

Il te faut aussi mettre dans les fichiers de langues la traduction du titre de l'onglet
Code: Tout sélectionner
$_['tab_tutors3d'] = 'Tutors 3D';
Image
1 - A lire avant de poster un sujet
2 - Politique sur la signature.

Quand le sujet est résolu, pensez à ajouter la petite coche verte Image dans le titre initial en éditant votre premier message et non dans votre dernière réponse.
Merci


Toutes les extensions commerciales (templates ou modules payants) ne peuvent pas faire l'objet d'ouverture de sujet, prière de bien vouloir s'adresser au concepteur en cas de problème ou demande de renseignements.

Seul, on avance plus vite, à plusieurs on avance plus loin.
Avatar de l’utilisateur
LeorLindel
Administrateur
Administrateur
 
Messages: 4227
Inscription: 19 Fév 2010, 13:44
Localisation: Lutéce

Re: onglet supplémentaire dans le header ?

Messagepar Farfa » 01 Avr 2011, 23:04

merci beaucoup , c'est exactement ce que je voulais. Je vais m'exécuter de ce pas.
version Opencart : 1.4.9.1 Fr // *En test* v1.5.0.5 Patch Fr .
Hebergeur : http://www.punchost.com
Template : default ... personnalisé
Avatar de l’utilisateur
Farfa
Utilisateur enregistré
Utilisateur enregistré
 
Messages: 60
Inscription: 18 Nov 2010, 00:13
Localisation: Belgique


Retourner vers Développement

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

cron