Php 在模块中查找Prestashop商店可用的语言

Php 在模块中查找Prestashop商店可用的语言,php,module,prestashop,Php,Module,Prestashop,大家好。 我在做一个Prestashop模块,实际上我在.tpl文件中使用了以下逻辑: {foreach $languages as $lang} ... {/foreach} 我想将这种逻辑移到模块PHP中,而不是移到.tpl文件中,因为逻辑变得有点复杂,我不喜欢其中包含逻辑的模板 我的问题是,我找不到一种方法来获取模块中的所有语言(我在这个阶段不考虑db查询,我会切换到残酷的获取,以防我没有以更流畅的方式解决)。 实际上,我可以使用以下方法检索实际语言: $this->contex

大家好。 我在做一个Prestashop模块,实际上我在.tpl文件中使用了以下逻辑:

{foreach $languages as $lang} 
...
{/foreach}
我想将这种逻辑移到模块PHP中,而不是移到.tpl文件中,因为逻辑变得有点复杂,我不喜欢其中包含逻辑的模板

我的问题是,我找不到一种方法来获取模块中的所有语言(我在这个阶段不考虑db查询,我会切换到残酷的获取,以防我没有以更流畅的方式解决)。 实际上,我可以使用以下方法检索实际语言:

$this->context->language->id
这很酷,但还不够,我需要的是:

  • 此店铺的所有当前语言
  • 所有的商店
  • 商店的所有语言
  • 第1点是最重要的,但也要考虑第2点和第3点,因为我想在多跳环境中扩展此解决方案

    有人知道我应该开始搜索什么吗


    任何人都可以回答第1点吗?

    您可以通过静态方法轻松地使用
    语言

  • 当前店铺的语言:
    Language::getLanguages(true$this->context->shop->id)
  • 所有商店的语言
    Language::getLanguages(true)
  • 给定商店的语言
    Language::getLanguages(true,$whatever\u shop\u id)
  • 第一个参数
    true
    仅获取活动语言,如果需要所有语言,则设置为
    false
    。如果只希望检索语言ID,还可以将第三个参数指定为
    true