[Résolu] MySkinSelect KO !
ComputingFroggy
Member
Salut,
J'ai essayé d'installer MySkinSelect sur un nouveau site (ma 1ère fois avec la v 5.1.6).
J'ai copié le code indiqué dans la sidebar ... mais quand je choisis un template et que je clique OK, la page est rechargé telle quelle : le template n'est pas changé ! :-(
(Par contre, depuis la partie admin, le changement de template fonctionne)
Qu'est ce que j'ai oublié ?
Merci d'avance,
L@u
J'ai essayé d'installer MySkinSelect sur un nouveau site (ma 1ère fois avec la v 5.1.6).
J'ai copié le code indiqué dans la sidebar ... mais quand je choisis un template et que je clique OK, la page est rechargé telle quelle : le template n'est pas changé ! :-(
(Par contre, depuis la partie admin, le changement de template fonctionne)
Qu'est ce que j'ai oublié ?
Merci d'avance,
L@u
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Ne serait-pas un problème de cache avec ton navigateur.
nb: le code pour changer de theme est à mettre dans chaque theme que tu proposes.
Consultant PluXml
Ancien responsable du projet (2010 à 2018)
Ca ne marche toujours pas !
Une autre idée ?
Le site de test est à l'adresse :
XXXXX (EDIT: nom du site temporaire supprimé)
Au fait à quoi sert le choix "aucun" dans le choix des thèmes de la page Paramètres ==> Option d'affichage ?
Quand je le choisis, j'ai une erreur sur mon site ! ;-)
Merci d'avance,
L@u
Télécharge la version 1.1.1
Non, c'est bien la version 1.1.1 que j'utilise !
Je l'ai re-téléchargé ... et en regardant dans le code, c'est bien le cookie style qui est utilisé.
Et pour vous, ça marche sur mon site ? (parce que je sais que cela fonctionne par ailleurs ... comme sur le site de Jerry ... qui est une bonne démo de thèmes ).
Il y a une erreur dans la version 1.1.1 du plugin.
La ligne 62 devrait être :
setcookie('plxMySkinSelect', $_POST, time()+3600*24*2);
Merci quand même. ;-)
Stéphane, pense à corriger le plugin.
Ah, au fait, encore une question (j'ai cherché dans la doc mais je n'ai pas trouvé) : quel est le code pour tester si un plugin est actif ?
Je voudrai pouvoir écrire quelque chose comme :
<?php
if plugin.MySkinSelect->activated() {
print plugin->getLang("themesSelectTitle");
eval($plxShow->callHook('MySkinSelect'))
?>
Consultant PluXml
Ancien responsable du projet (2010 à 2018)
Le $plxMotor = plxMotor::getInstance(); dépend de là où tu appelles ton code. Il faudra peut-être appeler une instance de plxAdmin à la place, ou rien si ça déjà été fait...
J'ai donc écrit , dans sidebar.php
<?php
if (isset($plxMotor->$plxPlugins->aPlugins) && $plxMotor->$plxPlugins->aPlugins == 1) {
print "<h3>";
$plxMotor->plxPlugins->getInstance('MySkinSelect')->lang('L_SKIN_THEMES_TITLE');
print "</h3>";
eval($plxShow->callHook('MySkinSelect'));
}
?>
Mais il y a une erreur. Je vais creuser et je vous tiens au courant.
Me suis trompé. Il ne faut pas écrire $plxMotor->$plxPlugins mais $plxMotor->plxPlugin.
Et dans la sidebar, il faut appeler une instance de plxMotor pour que ça fonctionne.
if (isset($plxMotor->plxPlugins->aPlugins) && $plxMotor->plxPlugins->aPlugins == 1) {
print "<h3>";
$plxMotor->plxPlugins->getInstance('plxMySkinSelect')->lang('L_SKIN_THEMES_TITLE');
print "</h3>";
eval($plxShow->callHook('MySkinSelect'));
}
Il suffit de rajouter un répertoire lang avec une seule entrée (pour le moment ) par fichier : L_SKIN_THEMES_TITLE
@Stéphane : cela pourrait être intégré dans la nouvelle version du plugin. Cela permet de créer les thèmes avec le code pour afficher le sélecteur de thèmes (ci dessus). Et le sélecteur n'est visible que si le plugin MySkinSelect a été activé !
Je peux te passer les fichiers lang en EN, ES, IT ... et FR, si tu es intéressé.
Au fait, un peu bizarre le nom, non : MyThemeSelect n'aurait il pas été plus cohérent ?
... mais bon, je suis un peu (beaucoup) un coupeur de cheveux en quatre.
Merci à tous ... et à Jerry en particulier.
Pas bête sauf que le sélecteur ne peut plus alors être placé où l'on veut.
A mon avis il est inutile d'écrire du code pour tester si le plugin est actif ou non pour afficher le selecteur de thème. Il suffit d'activer ou désactiver le plugin dans la gestion des plugins. Cela revient au même et le fichier du theme (sidebar.php) n'est pas polluer par du code inutile. Il suffit juste de laisser l'appel du hook de MySkinSelect.
Consultant PluXml
Ancien responsable du projet (2010 à 2018)
autant pour moi ... mais, de fait c'est :
if (isset($plxMotor->plxPlugins->aPlugins)
Attention au $ devant plxPlugins
Je ne vois pas pourquoi le sélecteur ne peut pas être placé où l'on veut. Le code donné est un exemple. A chacun de l'adapter selon où on le met.
@Stephane:
Pas vraiment d'accord.
Si on désactive le plugin et que le code est écrit ... on verra tout ce qu'il y a autour du sélecteur (le nom thème et tout ce qu'on peut ajouter autour).
Si le thème est prévu pour afficher ou pas, le sélecteur, cela facilite grandement son utilisation par des utilisateurs qui ne veulent pas trop mettre les mains dans le cambouis.
A toi de voir.
Consultant PluXml
Ancien responsable du projet (2010 à 2018)