MayMo design Posted September 17, 2010 Share Posted September 17, 2010 bonjour,comme c'est dit dans le titre, je veux créer un site avec 3 langues : arabe, français et anglais.pour le français et l'anglais, il n'y a aucun problème.pour les image, je fais l'astuce du {$lang_iso}.mais pour la langue arabe, il faut que tout soit à l'opposé, puisque c'est du droite à gauche, donc je me suis dis, pourquoi ne pas faire une feuille de style spéciale pour la langue arabe et j'intègre le {$lang_iso} comme pour les images.sinon, donner moi un autre astuce.cordialement Link to comment Share on other sites More sharing options...
jeckyl Posted September 17, 2010 Share Posted September 17, 2010 Bonjour,pourquoi ne pas définir une feuille de style par langue en les nommant main_{$lang_iso}.css Link to comment Share on other sites More sharing options...
MayMo design Posted September 17, 2010 Author Share Posted September 17, 2010 voilà c'est ce que je voulais savoir, est ce que c'est possible de le faire.et dans ce cas, est ce que je laisse le global.css comme parent, et créer les changements de la langue arabe , français et anglais comme vous l'avez mentionné : main_{$lang_iso}.css.où je vire le global.css, et je crée 3 nouvelle feuille de style pour chaque langue.merci Link to comment Share on other sites More sharing options...
jeckyl Posted September 17, 2010 Share Posted September 17, 2010 il vous faut autant de css que de langue et vous les nommez comme vous voulez Link to comment Share on other sites More sharing options...
scoobi Posted November 27, 2010 Share Posted November 27, 2010 Bonjour à tous,J'aimerai aussi avoir un css par langueheader.php <?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'; /* Hooks are volontary out the initialize array (need those variables already assigned) */ $smarty->assign(array( 'HOOK_HEADER' => Module::hookExec('header'), 'HOOK_LEFT_COLUMN' => Module::hookExec('leftColumn'), 'HOOK_TOP' => Module::hookExec('top'), 'static_token' => Tools::getToken(false), 'token' => Tools::getToken(), 'priceDisplayPrecision' => _PS_PRICE_DISPLAY_PRECISION_, 'content_only' => intval(Tools::getValue('content_only')) )); if(isset($css_files) AND !empty($css_files)) $smarty->assign('css_files', $css_files); if(isset($js_files) AND !empty($js_files)) $smarty->assign('js_files', $js_files); $smarty->display(_PS_THEME_DIR_.'header.tpl'); ?> Je pense qu'il faut modifier ceci/* CSS */$css_files[_THEME_CSS_DIR_.'{$lang_iso}.css'] = 'all'; Link to comment Share on other sites More sharing options...
scoobi Posted November 27, 2010 Share Posted November 27, 2010 Cela ne fonctionne pas$lang_iso doit retourner "1" pour anglais, "2" pour francais et "3" pour espagnolJ'ai fait une copie de mon global.css que j'ai renommé en 2.cssSi je met: $css_files[THEME_CSS_DIR.’{$lang_iso}.css’] = ‘all’;Cela ne fonctionne pasSi je met: $css_files[THEME_CSS_DIR.’2.css’] = ‘all’;Ca marcheSavez-vous où est mon erreur ? Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 28, 2010 Share Posted November 28, 2010 Disons que tu utilises des variables Smarty dans du Php, ça ne marchera pas. Il faut utiliser les variables Php dans le Php.Il faut utiliser : $cookie->id_lang; Qui te retournera la langue en cours (1, 2 par exemple).Soit : $css_files[THEME_CSS_DIR.$cookie->id_lang.'.css'] = ‘all’; Link to comment Share on other sites More sharing options...
scoobi Posted November 28, 2010 Share Posted November 28, 2010 Merci beaucoup pour ta réponse Mais cela ne fonctionne pasJ'ai essayé de mettre ta modif dans header.php $css_files[THEME_CSS_DIR.$cookie->id_lang.'.css'] = ‘all’; et $css_files[_THEME_CSS_DIR_.$cookie->id_lang.'.css'] = ‘all’; Mais cela plante l'affichage de prestashopUne idée ? Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 28, 2010 Share Posted November 28, 2010 Hmm étrange, déjà en effet j'avais oublié le '_'.Essaie un : echo $cookie->id_lang; dans header.php voir si tu as un bien un 2 qui s'affiche sur ton site. (2 ou 1 d'ailleurs) Link to comment Share on other sites More sharing options...
scoobi Posted November 28, 2010 Share Posted November 28, 2010 avec echo $cookie->id_lang; j'ai bien un 2 qui s'afficheDans le tiroir css ou j'ai global.css, j'ai des copies de global.css renommées en 1.css et 2.css Link to comment Share on other sites More sharing options...
Vincent Decaux Posted November 28, 2010 Share Posted November 28, 2010 Un site en ligne ? Le lien vers le 2.css apparait bien dans le head de ton site ? Link to comment Share on other sites More sharing options...
scoobi Posted November 28, 2010 Share Posted November 28, 2010 Non, le lien vers 2.css n'apparaît nul partJe t'envoie un lien en mp Link to comment Share on other sites More sharing options...
scoobi Posted November 28, 2010 Share Posted November 28, 2010 J'ai essayé en localPs va bien chercher 2.css ou 1.css en fonction de la langueMais l'affichage se comporte comme si il n'y avait pas de css du toutAlors là c'est vraiment étrange...Par contre en ligne il ne trouve pas le bon cheminIl passe par ce chemin:http://monsite/prestashop/THEME_CSS_DIR1.cssouhttp://monsite/prestashop/THEME_CSS_DIR2.css Link to comment Share on other sites More sharing options...
scoobi Posted December 9, 2010 Share Posted December 9, 2010 Voici une solution qui fonctionne bien:Il suffit de remplacer $css_files[_THEME_CSS_DIR_.'global.css'] = 'all'; par if ($cookie->id_lang == 1) { $css_files[_THEME_CSS_DIR_.'1.css'] = 'all'; } if ($cookie->id_lang == 2) { $css_files[_THEME_CSS_DIR_.'2.css'] = 'all'; } 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