240eric Posted November 2, 2007 Share Posted November 2, 2007 Y a t il une Smarty ou exemple pour changer de Theme coté Client ? avec ou sans cookies . Link to comment Share on other sites More sharing options...
Bruno Leveque Posted November 2, 2007 Share Posted November 2, 2007 Bonsoir, Je ne comprends pas votre question. Pour changer de thème vous pouvez aller dans "Préférences" dans le Back Office. Par contre le client ne peut pas changer de thème lui-même (très peu d'intérêt). Merci Link to comment Share on other sites More sharing options...
240eric Posted November 3, 2007 Author Share Posted November 3, 2007 Bonjour et Merci ! Un exemple , deux thèmes , l'un 1000px de large , l'autre 800px , en fonction de la résolution écran du client , il choisi ! ( il peut aussi , changer d'écran ! ) Link to comment Share on other sites More sharing options...
Matthieu Biart Posted November 3, 2007 Share Posted November 3, 2007 Bonjour Eric Comme le dis Bruno, le client ne peut changer de theme par lui meme. De meme, le choix du theme par defaut etant stoke dans le fichier de settings, vous ne pouvez en selectionner un dynamiquement. Mais cela peut etre une bonne idee de contribution Link to comment Share on other sites More sharing options...
Lucas Cherifi Posted November 4, 2007 Share Posted November 4, 2007 deux thèmes , l'un 1000px de large , l'autre 800px , en fonction de la résolution écran du client , La détection de résolution n'est possible qu'avec le navigateur du client. Une première solution serait un script JS de détection de la résolution du navigateur client qui exécuterait finalement une sélection automatique de la bonne CSS. Pas besoin donc d'un template différent par résolution mais simplement d'une feuille de style pour chacune d'entre elles. Une autre solution serait l'utilisation de feuille de style adaptable à la résolution (utilisation de % pour les valeurs), mais en pratique c'est asses complexe... Link to comment Share on other sites More sharing options...
240eric Posted November 4, 2007 Author Share Posted November 4, 2007 Bonjour et Bon Dimanche , tout le Monde .. J'ai essayer de cette manière , mais ca ne fonctionne pas ici ! peut etre un conflit Ajax / .js ? Nom de header.tpl et appel du fichier JS : <link href="{$css_dir}style.css" rel="stylesheet" type="text/css" title="style1"/><!-- Nom de la Css 1 --> <script type="text/javascript" src="{$base_dir}js/stylewitcher.js"></script><!-- JS changement Css --> <script type="text/javascript" src="{$js_dir}layer.js"></script> <script type="text/javascript" src="{$base_dir}js/attributesFront.js"></script> <link rel="alternate stylesheet" href="{$css_dir}style2.css" type="text/css" title="style2"><!-- Nom de la Css 2 --> En suite , un lien classique vers la feuille css 2 : <a href="#" onclick="setActiveStyleSheet('style2'); return false;">Activer la skin "NOM 2"</a> Une erreur ou d autres solutions ? le contenu de stylewitcher.js en dessous Link to comment Share on other sites More sharing options...
240eric Posted November 4, 2007 Author Share Posted November 4, 2007 function setActiveStyleSheet(title) { var i, a, main; for(i=0; (a = document.getElementsByTagName("link")); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) { a.disabled = true; if(a.getAttribute("title") == title) a.disabled = false; } } } function getActiveStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title"); } return null; } function getPreferredStyleSheet() { var i, a; for(i=0; (a = document.getElementsByTagName("link")); i++) { if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("rel").indexOf("alt") == -1 && a.getAttribute("title") ) return a.getAttribute("title"); } return null; } function createCookie(name,value,days) { if (days) { var date = new Date(); date.setTime(date.getTime()+(days*24*60*60*1000)); var expires = "; expires="+date.toGMTString(); } else expires = ""; document.cookie = name+"="+value+expires+"; path=/"; } function readCookie(name) { var nameEQ = name + "="; var ca = document.cookie.split(';'); for(var i=0;i < ca.length;i++) { var c = ca; while (c.charAt(0)==' ') c = c.substring(1,c.length); if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length); } return null; } // hier eventueel cookiename veranderen in een andere naam voor het cookie. window.onload = function(e) { var cookie = readCookie("cookiename"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); } window.onunload = function(e) { var title = getActiveStyleSheet(); createCookie("cookiename", title, 365); } var cookie = readCookie("cookiename"); var title = cookie ? cookie : getPreferredStyleSheet(); setActiveStyleSheet(title); Link to comment Share on other sites More sharing options...
Lucas Cherifi Posted November 4, 2007 Share Posted November 4, 2007 Bonjour à toi, Peux-tu décrire l'erreur ? As-tu Firebug d'installé (Firefox uniquement) ? si oui, après un clic sur ton lien, vois-tu toujours une icône verte en bas à droite, ou cette erreur est-elle remplacée par un chiffre rouge (nb d'erreur JS détecté) ? Link to comment Share on other sites More sharing options...
240eric Posted November 4, 2007 Author Share Posted November 4, 2007 Bonjour Mr Lucas ! J e vais refaire un essai lundi , j'ai aussi installé le sript Mootools , dans le haut de la page Header , il y a conflit , page blanche .... les scripts eux meme fonctionne . il y a un conlit de Nom ou , je sais pas ! Sous Xoops c'est pareil , depuis un theme , si on appel un script ajax et qu il ne fonctionne pas , il faut l'appeler avant ou apres un autre ! c'est un peut du hazard .... J'ai vu que , pour changer un module de colonne , on change le nom ('rightColumn') dans son fichier php ? ce serait bien de le faire dans l'admin ! Link to comment Share on other sites More sharing options...
Matthieu Biart Posted November 5, 2007 Share Posted November 5, 2007 J'ai vu que , pour changer un module de colonne , on change le nom ('rightColumn') dans son fichier php ? ce serait bien de le faire dans l'admin ! Bonjour Eric C'est justement en voie de développement, et bientôt terminé. (release 0.8.6 ?) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now