Допустим у нас есть product_id, имея этот product_id из таблицы product_to_category мы получаем category_id, далее если у этой категории нету под категорий то выводим имя ее на всех доступных языках, если есть под категории то выводим так
главная категория >> под категория >> если есть еще подкатегория и т.д
и вывести на всех установленных языках, проблема заключается в мультиязычности, для одного языка получается склеить массив имея такую модель
public function getAllCategories($parent_id = 0, $depth = 0, $name = '', $path = '') {
$category_data = array();
$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "category c LEFT JOIN " . DB_PREFIX . "category_to_store c2s ON (c.category_id = c2s.category_id) LEFT JOIN " . DB_PREFIX . "category_description cd ON (c.category_id = cd.category_id) WHERE c.parent_id = '" . (int)$parent_id . "' AND cd.language_id = '" . (int)$this->config->get('config_language_id') . "'");
//todo: left join category to store
$depth++;
if ($name) {$cat_name = $name . ' >> ' . $category_description_data;} else {$cat_name = $category_description_data;}
if ($path) {$cat_path = $path . '_' . $result['category_id'];} else {$cat_path = $result['category_id'];}
$category_data[] = array(
'category_id' => $result['category_id'],
'name' => $cat_name,
'depth' => $depth,
'path' => $cat_path
);
$category_data = array_merge($category_data, $this->getAllCategories($result['category_id'], $depth, $cat_name, $cat_path));
}
return $category_data;
}
То есть данная модель делает все как и нужно, но в установлен не один язык, и мне нужно просто чтоб сюда
'name' => $cat_name,
была не строка ввиде вывода для одного языка, а массив сразу на всех языках, по типу language_id = cat_name(Велик >> Шины), language_id = cat_name(Bicycle >> Wheels) и т.д, вот не получается как эту рекурсию построить так чтоб я мог получать сразу имя на всех языках, а не для одного.... конечно можно функцию выполнять столько раз сколько языков в параметр засунуть Language_id и сувать его в query, но эт какой-то лохотрон) Спасибо за помощь, как-бы мне требуется только сделать эту штуку multilanguage :( а то не много ввел в заблуждение в заголовком product_id тут не нужен, просто вывод всех категорий на всех языках и все