Gabox est nativement multilangue.
2 éléments permette d'assurer l'internationnalisation.
Il suffit pour cela d'utiliser le collector translation et la méthode t().
Comment récupérer des données traduites d'une table ?
Chaque collector peut appeler la méthode getI18n ou getOneI18n qui permet de récupérer des données traduites avec ou sans conditions.
function getI18n($primary_key_value = '', $order = '', $search = '', $id_loc = '', $id_loc_master = '', $limit = '', $offset = '') { }
L'exemple suivant permet de récupérer les valeurs du collector "example" si le champ 'is_valid' est égal à 1, par ordre croissant du champ 'n_order', avec 2 résultats maximum qui commencent par 0.
$conditions = array('is_valid' => 1);
$rows = $this->collector['example']->getI18n($conditions, 'order by n_order', '', '', '2', '0');
Cette méthode retourne un tableau contenant les valeurs.
Array
(
[0] = Array
(
[id_example] = 1
[lib] = Item 1
[created_at] = 2019-05-03 14:33:10
[n_order] = 1
[is_valid] = 1
[ex_type] = EX1
)
[1] = Array
(
[id_example] = 3
[lib] = Item 3
[created_at] = 2019-05-03 14:33:21
[n_order] = 3
[is_valid] = 1
[ex_type] = EX2
)
)
La méthode getOneI18n fonctionne de façon identique, à la seule différence que le résultat ne retourne qu'un seul enregistrement.
$rows = $this->collector['example']->getOneI18n();