2014-05-09 1 views
0

Bonne journée à tous.rechercher dans le tableau et retourner le parent parent avec smarty dans prestashop

Je suis en train d'écrire un module, je suis dans le .tpl pour le moment, et j'essaie de récupérer l'id de la langue pour la page actuelle que je montre. En fait je travaille sur un code de test, pour savoir si j'ai tous les éléments pour continuer.

J'ai ce jusqu'à présent:

id={$smarty.get.id_category} 
id_language = {$smarty.get.id_lang} 
{assign var=my_lang_id value=$smarty.get.id_lang} 
my_lang_id= {$my_lang_id}  
languages = {$languages|@print_r} 

et en fait, je reçois:

id=7 
id_language = 6 
my_lang_id= 6 
languages = Array 
(
    [0] => Array 
     (
      [id_lang] => 1 
      [name] => English (English) 
      [active] => 1 
      [iso_code] => en 
      [language_code] => en-us 
      [date_format_lite] => m/j/Y 
      [date_format_full] => m/j/Y H:i:s 
      [is_rtl] => 0 
      [id_shop] => 1 
      [shops] => Array 
       (
        [1] => 1 
       ) 

     ) 

    [1] => Array 
     (
      [id_lang] => 6 
      [name] => Italiano (Italian) 
      [active] => 1 
      [iso_code] => it 
      [language_code] => it 
      [date_format_lite] => d/m/Y 
      [date_format_full] => d/m/Y H:i:s 
      [is_rtl] => 0 
      [id_shop] => 1 
      [shops] => Array 
       (
        [1] => 1 
       ) 

     ) 

    [2] => Array 
     (
      [id_lang] => 7 
      [name] => English (United Kingdom) 
      [active] => 1 
      [iso_code] => gb 
      [language_code] => gb 
      [date_format_lite] => d/m/Y 
      [date_format_full] => d/m/Y H:i:s 
      [is_rtl] => 0 
      [id_shop] => 1 
      [shops] => Array 
       (
        [1] => 1 
       ) 

     ) 

    [3] => Array 
     (
      [id_lang] => 8 
      [name] => English (Australia) 
      [active] => 1 
      [iso_code] => au 
      [language_code] => en-au 
      [date_format_lite] => d/m/Y 
      [date_format_full] => d/m/Y H:i:s 
      [is_rtl] => 0 
      [id_shop] => 1 
      [shops] => Array 
       (
        [1] => 1 
       ) 

     ) 

    [4] => Array 
     (
      [id_lang] => 9 
      [name] => English (Canada) 
      [active] => 1 
      [iso_code] => ca 
      [language_code] => en-ca 
      [date_format_lite] => d/m/Y 
      [date_format_full] => d/m/Y H:i:s 
      [is_rtl] => 0 
      [id_shop] => 1 
      [shops] => Array 
       (
        [1] => 1 
       ) 

     ) 

) 

Mon problème est ... Je voudrais récupérer le iso_code de ma langue actuelle, et le iso_code et le language_code d'une langue donnée, à partir de ce tableau ... disons que je voudrais avoir "it", "it" comme mon ID de langue actuel est 6, et ensuite je voudrais obtenir le id_lang de la langue avec iso_code = en est-ce possible? ou je me trompe?

Répondre

1

est ici la façon dont vous pouvez le comparer à l'aide Smarty:

fichier de test PHP:

$languages = array(); 
$languages[] = array('id_lang' => 1, 'iso_code' => 'en', 'language_code' => 'en-us'); 
$languages[] = array('id_lang' => 6, 'iso_code' => 'it', 'language_code' => 'it'); 
$languages[] = array('id_lang' => 7, 'iso_code' => 'gb', 'language_code' => 'gb'); 
$smarty->assign('languages',$languages); 

fichier test Smarty:

{assign var=my_lang_id value=6} 

{foreach $languages as $lang} 
    {if $lang.id_lang eq $my_lang_id} 
     {$lang.iso_code} {$lang.language_code} 
    {/if} 
{/foreach} 

J'espère que ce que vous aviez besoin parce que je n » Je ne connais pas prestashop.

Questions connexes