Bienvenue sur le blog de l'agence Soluka !

Retrouvez des articles dédiés aux nouveautés dans le développement web, rédigés par des passionnés, ainsi que les dernières actualités de l'agence.

Recherche

Articles populaires

Jeux Phaser

20/10/14

Récupérer le tableau des langues actives PrestaShop

par Aymeric le 20 octobre 2014
R&D
Image Récupérer le tableau des langues actives PrestaShop

Lorsqu’on développe un module pour le CMS e-commerce PrestaShop, il est important de prendre en compte la dimension linguistique de ce dernier. En effet, il est très simple de gérer les traductions front-office et back-office avec la très célèbre méthode : l(). Néanmoins, il arrive qu’un module ai besoin de sa propre table en base de données pour stocker les informations propre au module que l’on crée. Il est donc impératif de récupérer les langues activées sur la boutique. On peut également en avoir besoin lors d’un override.

La classe Langue nous met à disposition la méthode getLanguages() qui répond à ce besoin.

$lang = Language::getLanguages();
Liste de toutes langues de la boutique
$lang = Language::getLanguages(true);
Liste des langues activées de la boutique
$lang = Language::getLanguages(false, 2);
Liste de toutes les langues de la boutique 2 (seulement en multi-boutique)
$lang = Language::getLanguages(true, 2);
Liste des langues activées de la boutique 2 (seulement en multi-boutique)

La méthode retourne un tableau associatif. Pour le parcourir il suffit d’utiliser un foreach.

foreach($lang as $val) {
	echo $val['name'] ;
}
Afficher le nom des langues activées sur la boutique

Ci-dessous un exemple du tableau retourné par la méthode, afficher grâce à un print_r().

Array
(
    [0] => Array
        (
            [id_lang] => 1
            [name] => Français (French)
            [active] => 1
            [iso_code] => fr
            [language_code] => fr-fr
            [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
                )

        )
)