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