Fork me on GitHub






[Hack] Choix du theme et le garder en memoire.
Semi pro
Inscrit: 26/03/2004 17:57
De Metz
Messages: 1210
Voici un petit hack pour selectionner le theme via une petite image / un redirection / l'application du nouveaux theme et enregistrement de celui si dans un cookie.

Hack tester pour un Xoops 2.0.6

- Dans votre theme indiquer les liens de cette facon

<a href="<{$xoops_url}>/theme.php?xoops_theme_select=taste_b" title="Bleu"><img src="<{$xoops_imageurl}>/image/b_.gif" alt="Bleu" width="15" height="15"></a>


a modifier

taste_b par le nom du theme a appliquer
b_.gif par votre image (ce trouvant dans le dossier image de votre theme)

- Crée un fichier theme.php dans la racine du site avec ce code

<?php

//recuperer le commentaire de xoops pour les coller ici
include "mainfile.php";
include_once 
XOOPS_ROOT_PATH.'/include/functions.php';
include(
XOOPS_ROOT_PATH."/header.php");

    
echo 
'<body style="background: #FFFFFF">';

$xoops_theme_select = isset($HTTP_POST_VARS['xoops_theme_select']) ? intval($HTTP_GET_VARS['xoops_theme_select']) : $HTTP_GET_VARS['xoops_theme_select'];
if (!
$xoops_theme_select) {

    
redirect_header("index.php",1"Vous n'avez pas Séléctionner de Theme");
}

    
if (!
$xoopsUser) {
redirect_header("javascript:window.opener.location='".XOOPS_URL."/user.php';window.close();",1"Vous devez etre enregistrer pour cette action");        
 } else {
         
if (!
setcookie("xoops_theme_select"$xoops_theme_select ,time()+(60*60*24*365), '/'''0))
{
 
redirect_header("index.php",1"Erreur dans la création du Cookies");     
 }
else {
redirect_header("index.php?xoops_theme_select=$xoops_theme_select",1"Modification du theme en cours");     
}


}

include 
XOOPS_ROOT_PATH.'/footer.php';

?>


- Modifier le fichier include/common.php ligne 206

if (!empty($HTTP_POST_VARS['xoops_theme_select']) && in_array($HTTP_POST_VARS['xoops_theme_select'], $xoopsConfig['theme_set_allowed'])) {
        
$xoopsConfig['theme_set'] = $HTTP_POST_VARS['xoops_theme_select'];


Par :

if (!empty($_REQUEST['xoops_theme_select']) && in_array($_REQUEST['xoops_theme_select'], $xoopsConfig['theme_set_allowed'])) {
        
$xoopsConfig['theme_set'] = $HTTP_COOKIE_VARS['xoops_theme_select'];


Voila je croie que j'ai rien oublier.

cordialement, Venom

Posté le : 05/04/2006 12:26
Partager Twitter Partagez cette article sur GG+
Re: [Hack] Choix du theme et le garder en memoire.
Aspirant
Inscrit: 22/06/2003 13:02
De Paris
Messages: 81
Je ne vois pas de problème apparant ! Sympa la contribution ! :)

Posté le : 05/04/2006 12:45
Partager Twitter Partagez cette article sur GG+
Re: [Hack] Choix du theme et le garder en memoire.
Régulier
Inscrit: 09/09/2005 23:49
Messages: 297
Bonjour,

je suis très intéressé par ce code et cela fonctionne bien !
Mais j'aimerai ne pas obliger les utilisateurs anonymes à s'enregistrer pour pouvoir changer de thème, que faut-il enlever pour cela ?
Le top du top serait même de ne pas subir de transition avec le message "modification de votre thème en cours" pour aller d'un thème à l'autre.
Exactement comme le module thème du system finalement !
D'avance merci...

Posté le : 22/05/2006 12:48
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

88 Personne(s) en ligne (77 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 88 | Plus ...