Advertisement:

Code pour les variantes de thème

Aloittaja ll_ll, kesäkuu 22, 2011, 12:58:00 IP

« edellinen - seuraava »

ll_ll

Bonjour,

Voilà mon problème : je prépare l'upgrade en version 2.0 et actuellement j'ai modifié l'index.template du thème en cours pour y apporter 2 variantes.
Via 3 boutons les utilisateurs peuvent choisir 3 couleurs du même thème (orange, rouge, bleu) l'orange étant celui par défaut.

Sur la 2.0 les codes de la 1.1 fonctionnent pas et j'ai une erreur sur le fichier Load.php.

J'ai cherché et trouvé un autre code qui fonctionne sur la 2.0
['theme_variants']

Et ça fonctionne bien sauf pour qu'après déconnexion on revient sur le thème par défaut, or avec SMF 1.1 une fois reconnecté on garde l'ancien thème choisi.

Il y a t'il une solution?
Modifié les forums c'est comme le tuning... faut savoir s'arrêter :)

maximus23

Bonjour,

Exemple :

index.template thème en cours :

function template init :

Mettre ceci :


$settings['theme_variants'] = array('theme1', 'theme2', 'theme3');



Theme1 etc.... le nom de tes thèmes couleur.

Avant : Some browsers need an extra stylesheet due to bugs/compatibility issues.

pour délimiter les css de chaques thèmes couleur mettre ceci :


echo '
    <link rel="stylesheet" type="text/css" href="', $settings['theme_url'], '/css/index', $context['theme_variant'], '.css?fin20" />';




Après la fonction template menu :


echo'
   <div id="switcher">';
   if ($context['theme_variant'] != "Theme1")
   echo '<a style="height:5px;width:10px;background-color:#b0dbff;border:1px solid #000;display:inline;float:left;margin-right: 2px;" href="?variant=Theme1"></a>';

  if ($context['theme_variant'] != "Theme2")
   echo '<a style="height:5px;width:10px;background-color:#b0dbff;border:1px solid #000;display:inline;float:left;margin-right: 2px;" href="?variant=Theme2"></a>';

  if ($context['theme_variant'] != "Theme3")
   echo '<a style="height:5px;width:10px;background-color:#b0dbff;border:1px solid #000;display:inline;float:left;margin-right: 2px;" href="?variant=Theme3"></a>';
    echo '
      </div>';


et le ccs à ajouter dans index.css


#switcher {
float:right;
margin: 5px 10px 0 0;
}



Voilà bon amusement :)


Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

ll_ll

C'est exactement le code que j'ai trouvé pour les thèmes variantes mais après déconnexion le thème n'est pas gardé.
Obligé de rechoisir la variante à chaque reconnexion
Modifié les forums c'est comme le tuning... faut savoir s'arrêter :)

maximus23

Bonjour,

Il va stocker les infos dans le cookies :)

J'ai oublié une chose .....

Ok une petite adaptation ausi dans le theme.js prends celui du theme : GemMulticolor pour toi essayer là c'est le même code :)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

ll_ll

Lainaus käyttäjältä: maximus23 - kesäkuu 22, 2011, 03:35:00 IP

Il va stocker les infos dans le cookies :)

Non fonctionne pas ni sur FF4 ni sur IE9, après déconnexion tout est perdu

Lainaus käyttäjältä: maximus23 - kesäkuu 22, 2011, 03:35:00 IP

J'ai oublié une chose .....

Ok une petite adaptation ausi dans le theme.js prends celui du theme : GemMulticolor pour toi essayer là c'est le même code :)
T'as oublié quoi ? :)

le theme.js du GemMulticolor n'a rien de mieux que celui de mon thème :(

La seule solution que je vois c'est de faire 2 autres thèmes complet et que les utilisateurs choisissent via leur profil.
Modifié les forums c'est comme le tuning... faut savoir s'arrêter :)

maximus23

#5
Bonsoir,

Voilà comment moi je procède pour les faire il y a trois codifications à faire c'est annoté regarde dans mon fichier et démo sur entre-aide.org
Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

ll_ll

Ok ça me parle bcp plus :)

Je vois que c'est un mélange avec les codes du 1.1 (le code que j'utilisais ;) )

// The ?rc2 part of this link is just here to make sure browsers don't cache it wrongly.
echo '
<link rel="stylesheet" type="text/css" href="', $settings['theme_url'], '/css/index', $context['theme_variant'], '.css?rc2" />
<link rel="stylesheet" type="text/css" href="', $settings['theme_url'], '/css/index_' , $settings['theme_main_color'] , '.css?fin11" />
<link rel="stylesheet" type="text/css" href="', $settings['default_theme_url'], '/css/print.css?rc2" media="print" />';

Je vois du ?RC2 et du ?FIN11 :)

Du coup tu peux me filer le Settings.template.php de ton thème "darkblue" (pas la peine pour la traduction, je la ferai sur Settings.french.php)

Merci
Modifié les forums c'est comme le tuning... faut savoir s'arrêter :)

maximus23

Bonsoir,

Oui étant donné que j'avais un thème v1 en multicouleur quand on l'a passé à la v2 j'ai modifié le code vers le v2 tout simplement.

Tout est dans language pour les strings :)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

ll_ll

Bonjour,

Merci bcp mais j'aimerai si possible ton fichier Settings.template.php du thème

Car vu cette ligne de code dans ton index.template.php il doit avoir un choix à faire dans le panneau Admin "Thème en cours"

// If not set, or if not allowed to set
if(!isset($options['theme_color']) || (isset($settings['allow_color_change']) && $settings['allow_color_change'] == 'no'))
{
// Defaults.
$options['theme_color'] = isset($settings['theme_main_color']) ? $settings['theme_main_color'] : '';
$settings['theme_main_color'] = $options['theme_color'];
}
Modifié les forums c'est comme le tuning... faut savoir s'arrêter :)

maximus23

Bonjour,

Non je n'utilise pas le settings pour la couleur par défaut regarde bien le code c'est indiqué :)

Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

ll_ll

Merci ça fonctionne comme je souhaite :)
Modifié les forums c'est comme le tuning... faut savoir s'arrêter :)

maximus23

Bonsoir,

Content pour toi c'est une version "olé olé" non officielle mais pour moi c'est celle qui fonctionne le mieux :)

Bon courage pour la suite :)



Pas de support par PM ou Courrier...Veuillez utiliser le forum pour vous avoir une réponse rapide à votre demande d'aide. Merci.
Amitiés et à Bientôt...
No support by PM or Mail...You will get better and faster responses in the support forums. Thank you.
Have a nice day...

Advertisement: