Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Помогите вывести категории+подкатегории продукта


Recommended Posts

Допустим у нас есть 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 тут не нужен, просто вывод всех категорий на всех языках и все

Змінено користувачем cha0s
Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.