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

Хлебные крошки при переходе в товар из главной


Recommended Posts

В общем нашел решение для oc 2.3
 

catalog/controller/product/product.php

перед 
public function index() {

вставляем

protected function getPath($parent_id, $current_path = '') {
				$category_info = $this->model_catalog_category->getCategory($parent_id);          
				if ($category_info) {
					if (!$current_path) {
						$new_path = $category_info['category_id'];
					} else {
						$new_path = $category_info['category_id'] . '_' . $current_path;
					}			  
					$path = $this->getPath($category_info['parent_id'], $new_path);			  
					if ($path) {
						return $path;
					} else {
						return $new_path;
					}
				}
			}


после

if ($product_info) {

вставляем

if(!isset($category_info)) {
				$categories = $this->model_catalog_product->getCategories($this->request->get['product_id']);
				if($categories) {				
					foreach($categories as $category){			  
						$path = $this->getPath($category['category_id']);
						$category_info = $this->model_catalog_category->getCategory($category['category_id']);
						if($path){
							$cat_path = $path;
						}else{
							$cat_path = $category_info['category_id'];
						}				  
						if($category_info) {
							$path = '';
							$cat_path = explode('_', $cat_path);
							foreach ( $cat_path as $path_id) {
							  if (!$path) {
								$path = $path_id;
							  } else {
								$path .= '_' . $path_id;
							  }
								  
							  $category_info = $this->model_catalog_category->getCategory($path_id);
							  
							  if ($category_info) {
								  $data['breadcrumbs'][] = array(
								  'text'      => $category_info['name'],
								  'href'      => $this->url->link('product/category', '&path=' . $path),
								  'separator' => $this->language->get('text_separator')
								  );
								}
							}
						break;
						}			  
					}
				}
			}

 

Надіслати
Поділитися на інших сайтах


  • 5 weeks later...
В 15.07.2020 в 11:27, emain сказал:

В общем нашел решение для oc 2.3

 

Спасибо за решение, но у меня работает не совсем корректно. Если товар размещен в нескольких категориях, например в родительских, то путь хлебных крошек строится для первой в списке, а не для младшей (или главной).

@emain eсли код Ваш, помогите разобраться, как это поправить, или поделитесь координатами автора пожалуйста.

 

В моей сборке у товаров есть поле главная категория, наверное правильно было бы всегда использовать ее для формирования пути. В seo_pro подсмотрел такой запрос:

"SELECT category_id FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . $product_id . "' ORDER BY main_category DESC LIMIT 1"

 

Надіслати
Поділитися на інших сайтах


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

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

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

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

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

Вхід

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

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

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

Important Information

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