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

Соседние категории для категории 3го уровня


Artem079

Recommended Posts

Добрый день! Opencart 1.5, да, не свежий, но работает)

Как сейчас: на странице категории 2го уровня "1111", над списком товаров отображены "соседние категории" и подкатегории этой самой категории "1111".

Соседние, я имею ввиду: все категории 2го уровня главной категории.

Если я нахожусь на странице категории 3го уровня, то у меня эти самый "соседние" категории не отображаются впринципе.

Догадываюсь, что в php файле category.php в директории controller/product/ код разбирает только категории 1 и 2 уровня, но не глубже.

Вопрос: как сделать так, чтобы отображались "соседние" категории в 3 уровне вложенности?

часть controller/product/category.php

if (isset($this->request->get['path'])) {
			$parts = explode('_', (string)$this->request->get['path']);
		} else {
			$parts = array();
		}
			
		if (isset($parts[0])) {
			$this->data['category_id'] = $parts[0];
		} else {
			$this->data['category_id'] = 0;
		}
		
		if (isset($parts[1])) {
			$this->data['child_id'] = $parts[1];
		} else {
			$this->data['child_id'] = 0;
		}


		$this->data['allcategories'] = array();
		$allcategories = $this->model_catalog_category->getCategories(0);

		foreach ($allcategories as $allcategory) {
			$children_data = array();
			$children = $this->model_catalog_category->getCategories($allcategory['category_id']);

			foreach ($children as $child) {
				$children_data[] = array(
					'category_id' => $child['category_id'],
					'sub'   	  => $child['sub'],
					'name'        => $child['name'],
					'href'        => $this->url->link('product/category', 'path=' . $allcategory['category_id'] . '_' . $child['category_id']),
					'thumb' 	  => $this->model_tool_image->resize(($child['image']=='' ? 'no_image.jpg' : $child['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
				);		
			}

			$this->data['allcategories'][] = array(
				'category_id' => $allcategory['category_id'],
				'name'        => $allcategory['name'],
				'children'    => $children_data,
				'href'        => $this->url->link('product/category', 'path=' . $allcategory['category_id']),
				'thumb'		  => $this->model_tool_image->resize(($allcategory['image']=='' ? 'no_image.jpg' : $allcategory['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
			);	
		}

часть кода тема/template/product/category.tpl

<?php foreach ($allcategories as $allcategory) { ?>
				<?php if ($allcategory['category_id'] == $parent_id) { ?>
					<div class="sub2_text">Похожие категории</div>
					<div class="temp-categories-list">
						<ul>
						<?php foreach ($allcategory['children'] as $child) { ?>
							<?php if ($child['category_id'] !== $category_id and !$child['sub']) { ?>
								<li><a title="<?php echo $child['name']; ?>" href="<?php echo $child['href'];?>"><img alt="<?php echo $child['name']; ?>" src="<?php echo $child['thumb']; ?>"><br><?php echo $child['name']; ?></a></li>
							<?php } ?>
						<?php } ?>
						</ul>
					</div>
				<?php } ?>
			<?php } ?>

Помогите, пожалуйста, с решением, ну или хотя бы может будут мысли какие у вас

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


23 минуты назад, Artem079 сказал:

в директории controller/product/ код разбирает только категории 1 и 2 уровня, но не глубже.

точно

1 уровень

25 минут назад, Artem079 сказал:

foreach ($allcategories as $allcategory) {

2 уровень

25 минут назад, Artem079 сказал:

foreach ($children as $child) {

 

27 минут назад, Artem079 сказал:

категории в 3 уровне вложенности?

аналогично как  2 уровень

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

59 минут назад, fanatic сказал:

точно

1 уровень

2 уровень

 

аналогично как  2 уровень

Спасибо за ответ!) Но стало понятнее не более, чем было)

Это более-менее понятно, а как тогда еще можно сделать цикл вывода "соседних" категорий в шаблоне *tpl?

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


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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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