Forum CMS Made Simple FR

Version complète : [RESOLU]Babel 0.4 Condition sur $page_lang ne marche pas...
Vous consultez actuellement la version basse qualité d’un document. Voir la version complète avec le bon formatage.

Hawaii4ev3r

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.9.4.2
#~ Url du site : localhost
#~ Hébergeur / Soft : localhost
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.9.4.2
#~ Installed Modules:
#~ CMSMailer: 2.0.1
#~ FileManager: 1.1.0
#~ MenuManager: 1.7.6
#~ ModuleManager: 1.4.2
#~ News: 2.11.3
#~ nuSOAP: 1.0.2
#~ Printing: 1.1.2
#~ Search: 1.6.10
#~ ThemeManager: 1.1.4
#~ TinyMCE: 2.8.4
#~ babel: 0.4
#~ Config Information:
#~ php_memory_limit:
#~ process_whole_template: false
#~ output_compression: false
#~ max_upload_size: 10000000
#~ default_upload_permission: 664
#~ url_rewriting: mod_rewrite
#~ page_extension:
#~ query_var: page
#~ image_manipulation_prog: GD
#~ auto_alias_content: true
#~ locale:
#~ default_encoding: utf-8
#~ admin_encoding: utf-8
#~ set_names: true
#~ Php Information:
#~ phpversion: 5.2.10
#~ md5_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 0
#~ memory_limit: 128M
#~ max_execution_time: 30
#~ output_buffering: 4096
#~ safe_mode: Off (Faux)
#~ file_uploads: On (Vrai)
#~ post_max_size: 8M
#~ upload_max_filesize: 2M
#~ session_save_path: C:\Users\HWI_MBP\AppData\Local\Temp (0777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ Server Information:
#~ Server Api: apache2handler
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.1.37
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

je suis utilisateur du module babel 0.4,

il gère très bien les langues dans le cadre d'une hiérarchie symétrique (fait en suivant la doc forge).

mais voilà que j'ai besoin d'utiliser les conditions afin d'afficher ou non un bloc de contenu global... et là c'est le drame :o

{if $page_lang == ""} et {babel show ""} se révèlent sans effet, je ne suis pas très à l'aise avec le smarty mais toutes mais tentatives (nombreuses) se sont révélées infructueuses, si vous pouviez m'aider cela serait super ^^

cdt,

NB : j'espère être dans la bonne section

Merci d'avance de votre aide
Je ne connais pas ce module, mais tu peux utiliser {get_template_vars} dans ton gabarit pour connaître les variables disponibles. La variable $page_lang n'existe peut-être pas et est dénommée autrement.

Hawaii4ev3r

Jean le Chauve a écrit :Je ne connais pas ce module, mais tu peux utiliser {get_template_vars} dans ton gabarit pour connaître les variables disponibles. La variable $page_lang n'existe peut-être pas et est dénommée autrement.

Merci Jean,

lorsque je fais {get_template_vars} je vois la variable $page_lang

et pourtant le simple test
Code :
{if $page_lang == 'en_USA'}{babel show="ya"}
{elseif $page_lang == 'fr_FR'}{babel show="yi"}{/if}
ne fonctionne pas,

est-ce que je m'y prends mal ?

Hawaii4ev3r

Hawaii4ev3r a écrit :
Jean le Chauve a écrit :Je ne connais pas ce module, mais tu peux utiliser {get_template_vars} dans ton gabarit pour connaître les variables disponibles. La variable $page_lang n'existe peut-être pas et est dénommée autrement.

Merci Jean,

lorsque je fais {get_template_vars} je vois la variable $page_lang

et pourtant le simple test
Code :
{if $page_lang == 'en_USA'}{babel show="ya"}
{elseif $page_lang == 'fr_FR'}{babel show="yi"}{/if}
ne fonctionne pas,

est-ce que je m'y prends mal ?

alors j'avance dans la gestion de mon problème
Code :
{if $page_lang == 'en_USA'}ya
{elseif $page_lang == 'fr_FR'}yi{/if}
cela fonctionne mais
Code :
{if (!isset($smarty.session.id) and empty($smarty.session.id)) and $page_lang eq 'fr_FR'}
    {literal}
        <span class="LoginButton"> <a onclick="Modalbox.show(this.href, {title: 'Login'}); return false;" href="inscription/login.php">Login</a></span>
    {/literal}
{elseif (!isset($smarty.session.id) and empty($smarty.session.id)) and $page_lang eq 'en_USA'}
    {literal}
        <span class="LoginButton"> <a onclick="Modalbox.show(this.href, {title: 'Login'}); return false;" href="inscription/login_1.php">Login</a></span>
    {/literal}
{elseif !(!isset($smarty.session.id) and empty($smarty.session.id)) and $page_lang eq 'fr_FR'}
    {literal}
        <span class="LoginButton">{cms_selflink page="fr_account"}</span>  <a onclick="Modalbox.show(this.href, {title: 'Deconnection'}); return false;" href="inscription/disconnect.php"><span id="Disconnection">Deconnection</span> </a>
    {/literal}

{elseif !(!isset($smarty.session.id) and empty($smarty.session.id)) and $page_lang eq 'en_USA'}
    {literal}
        <span class="LoginButton">{cms_selflink page="en_account"}</span>  <a onclick="Modalbox.show(this.href, {title: 'Disconnection'}); return false;" href="inscription/disconnect_1.php"><span id="Disconnection">Disconnection</span> </a>
    {/literal}
    
    {/if}
ne marche pas alors que c'est la même méthode {get_template_vars} m'affiche que page_lang : en_USA...

je ne comprends pas bien.

Hawaii4ev3r

Finalement j'ai résolu le problème par moi même, l'usage répété de la commande
Code :
{babel action="assign"}
a finit pas fonctionné,

bonne journée !