Afficher le sélecteur de thèmes lorsqu'on est déconnecté

2 participants

Voir le sujet précédent Voir le sujet suivant Aller en bas

Résolu Afficher le sélecteur de thèmes lorsqu'on est déconnecté

Message par Cicérone Mer 14 Sep 2022 - 19:32

Bonjour à tous,

Je vais devoir vous demander encore de l'aide à propos de mon sélecteur de thème.
J'ai suivit ce super tuto de forum actif : https://forum.forumactif.com/t308631-selecteur-de-style et il a parfaitement fonctionné, tout est parfait sauf lorsque quelqu'un de déconnecté et ne pouvant se connecter nous rend visite ! Impossible pour cette personne de voir le sélecteur et donc de charger un thème. J'aimerai que mes visiteurs non membres puissent eux aussi profiter de mes différents thèmes mais pour cela il faut que mon input sélecteur soit visible même lorsque que l'on est pas connecté. Ce qui n'est pas le cas et j'aimerai pouvoir rendre ça possible.

Je vous met le lien vers mon forum test qui est la quasi copie conforme (outre les sujets en pagaille) de mon forum.
Vous pouvez vous y inscrire à loisir pour tester les différentes vues :
https://entretest.forumactif.com/

De plus voici mes codes :

(pour le JS ce n'est que celui du tuto où j'ai inséré mes propres liens CSS rien de plus)
Code:
$("head").append('<link rel="stylesheet" type="text/css" id="tstyle" />');
 
if (my_getcookie("sstyle")) {
    $("#tstyle").attr("href", my_getcookie('sstyle'));
}
 
function addstyle(nom, lien) {
    $("#sstyle").append('<option value="' + lien + '">' + nom + '</option>');
}
 
function changestyle(cssurl) {
    var chatbox = false;
    my_setcookie('sstyle', $('#tstyle')[0].href = cssurl, 1, 0);
    if(chatbox == true) {
        $('#frame_chatbox').attr('data', $('#frame_chatbox').attr('data'));
    }
}
 
$(function() {
  $(function() {
      var version = 'phpbb2';
      var mobile = false;
      var selectors = {
          'phpbb2': 'table:has(a.mainmenu#logout) + div',
          'phpbb3': '#search-box',
          'punbb': '#pun-visit ul',
          'invision': '#submenu li a',
          'modernbb': 'ul.linklist.top a',
          'awesomebb': '#main-menu a',
          'mobilemodern': 'main'
      };
      if ($("#mpage-body-modern").length) {
          version = 'mobilemodern';
          if(mobile == false) {
              $("#tstyle").remove();
              return;
          }
      }
 
      $("iframe[name=smilies]").load(function() {
          $("iframe[name=smilies]").contents().find("head").append($("#tstyle").clone()).append('<style type="text/css">body{margin:0!important;}</style>');
      });
 
    $(selectors[version]).first().before('<select id="sstyle" onChange="changestyle(this.value);"></select>');
 
      addstyle("Classique", "https://www.aht.li/3733077/decoClassique.css");
      addstyle("De saison", "https://www.aht.li/3733078/decoSaison.css");
      //addstyle("Spooky", "https://www.aht.li/3733193/decoSpooky.css");
 
      if (my_getcookie("sstyle")) {
          $('#sstyle option[value="' + my_getcookie("sstyle") + '"]').attr("selected", "selected");
      }
 
  });
});

Et voici mon css qui ne fait que styler mon input : (celui-ci est placé directement dans le CSS du forum)
Code:
#sstyle {
position: fixed;
top: 165px;
left: 10px;  
margin: 4px;
border-width: 0px;
background-color: #dea297;
color: #fff;
font-size:14px;
font-family: Cambria;
padding: 5px;
}


Merci d'avance pour votre aide ! ♥
Cicérone

Cicérone
Nouveau membre

Messages : 13
Inscrit(e) le : 01/11/2021

https://lentrepasse.forumactif.com/
Cicérone a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Afficher le sélecteur de thèmes lorsqu'on est déconnecté

Message par chattigre Mer 14 Sep 2022 - 19:44

Bonjour,

Dans le code, recherchez
Code:
'phpbb2': 'table:has(a.mainmenu#logout) + div',
Et remplacez par :
Code:
'phpbb2': 'table:has(a.mainmenu[href^="/login"]) + div',

Cela devrait afficher le sélecteur également pour les invités.

Ce comportement d'absence de sélecteur pour les invités n'étant ni souhaité ni approprié, l'astuce a été signalée pour MAJ Smile
Merci de la remontée

Bonne journée
Cordialement
chattigre

chattigre
Aidactif
Aidactif

Masculin
Messages : 3596
Inscrit(e) le : 17/04/2019

https://test1-chattigre.forumactif.fr
chattigre a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher le sélecteur de thèmes lorsqu'on est déconnecté

Message par Cicérone Mer 14 Sep 2022 - 20:01

Merci beaucoup c'est vraiment parfait et effectivement ça fonctionne très bien.
Par contre je suis désolée de vous embêter une dernière fois, je pense que ce devrait être une broutille comme la première ligne que vous m'avez ciblé mais lorsque quelqu'un visite pour la première fois le forum, aucun thème n'est chargé de base et il n'y a qu'un fond gris basique de forumactif.
Peut-on faire en sorte dans le code JS qu'un des thèmes soit chargé de base pour éviter ce style vide et ainsi indiquer qu'il n'y a aucun bug ? (car j'ai peur que certains visiteurs croient à un bug de stylisation du forum ou à un forum en construction Confused )
Cicérone

Cicérone
Nouveau membre

Messages : 13
Inscrit(e) le : 01/11/2021

https://lentrepasse.forumactif.com/
Cicérone a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher le sélecteur de thèmes lorsqu'on est déconnecté

Message par chattigre Mer 14 Sep 2022 - 20:11

Bonjour,

Le sélecteur de style est plutôt prévu pour fonctionner en sus d'un style par défaut (comme vous le voyez dans le code de base), or je vois que vous avez supprimé cette option...
Soit vous la remettez et vous prévoyez un fond par défaut dans la feuille de style CSS du forum

Soit on peut mettre en place un style automatiquement, sans ajouter de cookie inutilement toutefois.
Après :
Code:
if (my_getcookie("sstyle")) {
    $("#tstyle").attr("href", my_getcookie('sstyle'));
}
Ajoutez
Code:

else {
    $("#tstyle").attr("href", "url");
}
Remplacez url par le lien de votre feuille CSS au choix.
De préférence pour des questions de cohérence il doit s'agir de celle du style "Classique" actuellement, car c'est la première affichée dans la liste sans action de l'utilisateur. Sinon changez l'ordre de vos styles dans le script pour que le style par défaut soit bien en premier, sans quoi il sera impossible / difficile de changer... ^^

Bonne journée
Cordialement.
chattigre

chattigre
Aidactif
Aidactif

Masculin
Messages : 3596
Inscrit(e) le : 17/04/2019

https://test1-chattigre.forumactif.fr
chattigre a été remercié(e) par l'auteur de ce sujet.

Résolu Re: Afficher le sélecteur de thèmes lorsqu'on est déconnecté

Message par Cicérone Mer 14 Sep 2022 - 20:25

C'est encore parfait merci milles fois !
J'avais réussi à cibler la ligne et le fonctionnement mais je suis trop rouillée dans l'utilisation du JS pour oser bricoler le code alors que c'était tout simple avec un if / else !
Je n'ai pas voulu garder de thème de base sur le forum car j'ai trop de modifications à laisser en place dans le CSS et que par soucis de simplicité je préférais tout centrer au même endroit pour me simplifier la vie lors d'un futur changement de thème de base.

(j'ai du coup modifié le JS en gardant le thème "classique" ce qui était l'idée dès le départ !)

Merci encore et comme tout est bon je clos le sujet en résolu,
Bonne journée à vous aussi,
Cordialement.
Cicérone

Cicérone
Nouveau membre

Messages : 13
Inscrit(e) le : 01/11/2021

https://lentrepasse.forumactif.com/
Cicérone a été remercié(e) par l'auteur de ce sujet.
  • 0

Résolu Re: Afficher le sélecteur de thèmes lorsqu'on est déconnecté

Message par chattigre Mer 14 Sep 2022 - 20:36

Re,

Parfait, tout est bon alors !
Pour information, l'astuce a été corrigée également.

Bonne soirée
Cordialement
chattigre

chattigre
Aidactif
Aidactif

Masculin
Messages : 3596
Inscrit(e) le : 17/04/2019

https://test1-chattigre.forumactif.fr
chattigre a été remercié(e) par l'auteur de ce sujet.

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum