[résolu] Une couleur par onglet avec Category Tabs

Messagepar fraiz » Mar 30 Déc 2008, 13:54

Bonjour!

Voilà j'utilise la contrib Category Tabs pour que mes catégories s'affichent en onglets à l'horizontale.
J'aimerai pouvoir attribuer à chaque onglet une couleur différente, et aussi que chaque onglet, lorsqu'on se trouve dans la catégories correspondante, soit encore d'une couleur différente.

Est-ce possible avec cette contribution et si oui comment?
Ou vais-je devoir créer mes onglets directement en CSS?

Merci!
fraiz
Membre actif
 
Messages: 17
Inscription: Lun 29 Déc 2008, 12:21

Messagepar j4k » Mar 30 Déc 2008, 14:45

je ne connait pas cette contrib, mais ce sujet à déjà été traité :

http://forums.oscss.org/viewtopic.php?id=760

http://forums.oscss.org/viewtopic.php?id=145
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar fraiz » Mar 30 Déc 2008, 15:03

oui j'avais bien lu ces 2 sujets, mais je bloque sur
J4K a écrit:il va te falloir ajouter une classe (par exemple l'id de la catégorie) dans le fichier include/boxes/categorie.php et ensuite ajouter les styles que tu souhaite pour chaque classes dans le stylesheet.css

je ne sais pas où intégrer les classes dans le code php de la page (dans mon cas la page est include/boxes/category_tabs.php).

voici le code de cette page :
Code: Tout sélectionner
<?php

function show_category_tabs($counter)
{
  global $foo, $categories_string, $id, $HTTP_GET_VARS;
 if ($foo[$counter]['parent'] == 0) {
    $cPath_new = 'cPath=' . $counter;
 }
 if ($HTTP_GET_VARS['cPath'] != 0){
    $base = substr($HTTP_GET_VARS['cPath'], 0, strpos($HTTP_GET_VARS['cPath'], '_'));
   if ($counter == $HTTP_GET_VARS['cPath']) {
      $onpage = 1;
    } elseif ($counter == $base) {
      $onpage = 1;
    }
 }

 
  if ($onpage) {
    $categories_string .= '<span valign="top" class="headerNavigation_categories">';
  } else {
    $categories_string .= '<span valign="top" class="inactiveNavigation">';
 }   

 
  $categories_string .= '&nbsp;&nbsp;<a href="';
 $categories_string .= tep_href_link(FILENAME_DEFAULT, $cPath_new);
  if ($onpage) {
    $categories_string .= '"  class="headerNavigation_categories">';
 } else {
    $categories_string .= '" class="inactiveNavigation">';
 }
 // display category name
  $categories_string .= $foo[$counter]['name'];
 
  $categories_string .= '</a>&nbsp;&nbsp;  </span>';
 
 
  if ($foo[$counter]['next_id']) {
    $onpage = 0;
    show_category_tabs($foo[$counter]['next_id']);
  }
}
?>




<!-- categories //-->

<?php
 
  if ($foo[$counter]['next_id']) {
    $onpage = 0;
    show_category_tabs($foo[$counter]['next_id']);
  }
 
  // start the tabs
 $categories_query = tep_db_query("select c.categories_id, cd.categories_name, c.parent_id from " . TABLE_CATEGORIES . " c, " . TABLE_CATEGORIES_DESCRIPTION . " cd where c.parent_id = '0' and c.categories_id = cd.categories_id and cd.language_id='" . $languages_id ."' order by sort_order, cd.categories_name");
  while ($categories = tep_db_fetch_array($categories_query))  {
    $foo[$categories['categories_id']] = array(
     'name' => $categories['categories_name'],
     'parent' => $categories['parent_id'],
     'level' => 0,
     'path' => $categories['categories_id'],
     'next_id' => false
    );
 
    if (isset($prev_id)) {
      $foo[$prev_id]['next_id'] = $categories['categories_id'];
   }
 
    $prev_id = $categories['categories_id'];
 
    if (!isset($first_element)) {
     $first_element = $categories['categories_id'];
    }
 }
 
  show_category_tabs($first_element);
  echo $categories_string;

?>
fraiz
Membre actif
 
Messages: 17
Inscription: Lun 29 Déc 2008, 12:21

Messagepar j4k » Mar 30 Déc 2008, 15:54

j'ai pas testé mais tu peux essayer :

Code: Tout sélectionner
if ($onpage) {
        $categories_string .= '<span valign="top" class="headerNavigation_categories style_'.$base.' ">';
    } else {
        $categories_string .= '<span valign="top" class="inactiveNavigation  style_'.$base.'">';
    }

ce qui devrait te créer une classe style_45 pour la rubrique 45 que tu pourra alors ajouter dans ton stylesheet
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France

Messagepar fraiz » Mar 30 Déc 2008, 17:46

ça ne marchais pas avec la variable $base mais j'ai testé avec $counter et ça marche nikel.

Merci beaucoup!

(je ne sais pas comment mettre le sujet en "résolu")
fraiz
Membre actif
 
Messages: 17
Inscription: Lun 29 Déc 2008, 12:21

Messagepar j4k » Mar 30 Déc 2008, 18:08

il faut éditer le premier message et mettre [ resolu ] dans le titre
~ osCSS 1.2.1 ~
Avatar de l’utilisateur
j4k
Site Admin
 
Messages: 1259
Inscription: Mer 27 Avr 2005, 09:13
Localisation: France


Retourner vers Design

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

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

cron