scoobi Posted December 17, 2010 Share Posted December 17, 2010 Bonjour,Je souhaiterai afficher un logo.jpg plus étroit pour les gens ayant des écrans à faible résolution (20% des gens sont encore en 1024/768)Comment procéder pour faire un détection d'affichage dans header.php ?Je crois qu'on ne peut pas écrire en php dans un ficher .tplJ'ai trouvé ce code en php, mais je n'arrive pas à l'utilisé <? if(!isset($_GET['r'])) { echo "[removed] document.location=\"$PHP_SELF?r=1&Largeur;=\"+screen.width+\"&Hauteur;=\"+screen.height; [removed]"; } else { // Code à afficher en cas de détection de la résolution d'affichage if(isset($_GET['Largeur']) && isset($_GET['Hauteur'])) { // Résolution détectée } else { // Résolution non détectée } } ?> Link to comment Share on other sites More sharing options...
domi77185 Posted December 17, 2010 Share Posted December 17, 2010 PHP execute du code serveur, pour connaitre la résolution de l'affichage du poste client tu dois utiliser du code javascript à l'aide des attributs "screen.width" et "screen.height".Moi j'essaierai d'intégrer ça dans mon fichier TPL en javascript. Link to comment Share on other sites More sharing options...
scoobi Posted December 17, 2010 Author Share Posted December 17, 2010 Je pourrai mettre ce code dans mon .header.tpl > <body {if $page_name}id="{$page_name|escape:'htmlall':'UTF-8'}"{/if}> {if !$content_only} </pre> <ul>{l s='This shop requires JavaScript to run correctly. Please activate JavaScript in your browser.'}</ul> <br><div> <!-- Header --> < _script language ="javascript" > <!-- if (screen.width >= 1024) document . write(''); else if (screen.width < 1024) document . write(''); //--> </ script> < Link to comment Share on other sites More sharing options...
domi77185 Posted December 17, 2010 Share Posted December 17, 2010 tu as essayé de mettre ton code javascript (balises inclues) entre les balises smarty {literal} et {/literal} afin que le compilateur smarty n'interpréte pas le javascript mais ne fasse que l'exécuter.Page smarty référente aux balises {literal} http://www.smarty.net/docsv2/fr/language.function.literal.tpl Link to comment Share on other sites More sharing options...
scoobi Posted December 17, 2010 Author Share Posted December 17, 2010 Tiens bizarre, mon post à disparu, je le remetMerci beaucoup pour ta réponseJ'ai écris cela dans header.tpl et ca marche bien en localC'est grave docteur de ne pas mette {literal} ?Parceque chez moi, avec {literal} cela ne fontionne pas... < script language="javascript"> <!-- if (screen.width <= 1024) document . write(''); else if (screen.width > 1024) document . write(''); //--> </ script> Link to comment Share on other sites More sharing options...
domi77185 Posted December 17, 2010 Share Posted December 17, 2010 Bien si ça fonctionne, pas besoin de {literal}et dans ton cas il aurait fallu jouer beaucoup avec cette balise car tu utilise des variables Smarty. Link to comment Share on other sites More sharing options...
scoobi Posted December 18, 2010 Author Share Posted December 18, 2010 Ok, si ca marche comme ca, je laisseMaintenant, j'aimerai détecter la définition de l'écran à partir de la page header.php pour choisir un cssJ'ai essayé cela, mais cela fait buger mon menu deroulant! <?php // P3P Policies (http://www.w3.org/TR/2002/REC-P3P-20020416/#compact_policies) header('P3P: CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"'); require_once(dirname(__FILE__).'/init.php'); /* CSS */ /*$css_files[_THEME_CSS_DIR_.'global.css'] = 'all';*/ ?> if (screen.width > 1024) <? php $css_files[_THEME_CSS_DIR_.'global.css'] = 'all'; ?> /* ligne à passer en php*/ [/ script] <?php Link to comment Share on other sites More sharing options...
scoobi Posted December 18, 2010 Author Share Posted December 18, 2010 Pourquoi chercher compliqué quand c'est si simple...Dans header.tpl, avant {$HOOK_HEADER}, mettre ceci < script t ype="t ext / javascript > > if (screen.width > 1024) document . write("<link rel='stylesheet' type='text/css' href='{$css_dir}global.css' />"); else if (screen.width <= 1024) document . write("<link rel='stylesheet' type='text/css' href='{$css_dir}global1024.css' />"); < /script > Ici j'ai trouvé un truc bien plus compliqué posté par juliun 123, mais pourquoi se compliqué la vie si cela marche? hein ?http://www.prestashop.com/forums/viewthread/68652/integration/solved_javascript__adapt_css_file_depending_on_screen_resolution Link to comment Share on other sites More sharing options...
scoobi Posted December 18, 2010 Author Share Posted December 18, 2010 J'ai besoin de sélectionner le bon css qui correspond à la résolution, voici un moyen < script type="t ext/ javascript > if (screen.width > 1024 && {$cookie->id_lang}==1;) (document . write) (" < link rel='stylesheet' type='text/css' href='{$css_dir}global.css' / > ;"); 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