Jump to content
Sign in to follow this  
Sliapy

[Решено] Третий уровень в подкатегориях в ocstore 1.5.5.1.2

Recommended Posts

Поиск по форуму и гугление ничего не дало. Везде вопрос сводится к добавлению третьего уровня в меню категорий и здесь решений уйма, включая платные/бесплатные готовые модули.

 

Может быть, кто-то решал вопрос вывода подкатегорий третьего уровня на саму страницу категории?

Share this post


Link to post
Share on other sites

Если речь идет о меню, то это все делаеться правкой кода

Share this post


Link to post
Share on other sites

Нет, речь как-раз не о меню. С меню-то решений полно, как я и написал.

 

Речь о подкатегориях на странице категории.

 

lis8_200x0.jpg

Edited by Sliapy

Share this post


Link to post
Share on other sites

смотрите как меню сделано, если я не ошибаюсь там похоже решения

Share this post


Link to post
Share on other sites

Смотрел, конечно. Но что-то не понимаю, как код из меню адаптировать под страницу категории.

Share this post


Link to post
Share on other sites

а как это должно выглядеть визуально?

для подкатегорий - плитка стандартная, вполне удачное решение.

а куда и как там подподкатегории впихивать?..

Share this post


Link to post
Share on other sites
Так как оформить - это же уже дело двадцать пятое :)

 

Я на проекте сделал так (пока реализовал через один из модулей)

 

jKeKKIZ.gif

 

Но вариантов здесь может быть множество.

Share this post


Link to post
Share on other sites

category.php

			foreach ($results as $result) {
				$data = array(
					'filter_category_id'  => $result['category_id'],
					'filter_sub_category' => true
				);
				
				$product_total = $this->model_catalog_product->getTotalProducts($data);
				
				$this->data['categories'][] = array(
					'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
					'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'))
				);
			}
>>

			foreach ($results as $result) {
				$data = array(
					'filter_category_id'  => $result['category_id'],
					'filter_sub_category' => true
				);
				
				$product_total = $this->model_catalog_product->getTotalProducts($data);
				
				$children_data = array();
				$children = $this->model_catalog_category->getCategories($result['category_id']);
				foreach ($children as $child) {
					$children_data[] = array(
						'name'  => $child['name'],
						'href'  => $this->url->link('product/category', 'path=' . $result['category_id'] . '_' . $child['category_id'])
					);
				}
				
				$this->data['categories'][] = array(
					'name'  => $result['name'] . ($this->config->get('config_product_count') ? ' (' . $product_total . ')' : ''),
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $result['category_id'] . $url),
					'thumb' => $this->model_tool_image->resize(($result['image']=='' ? 'no_image.jpg' : $result['image']), $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height')),
					'children' => $children_data
				);
			}

category.tpl

    <?php if (count($categories) <= 5) { ?>
    <ul>
      <?php foreach ($categories as $category) { ?>
      <li><a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>"><span><?php echo $category['name']; ?></a></span></li>
      <?php } ?>
>>

    <?php if (count($categories) <= 5) { ?>
    <ul>
      <?php foreach ($categories as $category) { ?>
      <li><a href="<?php echo $category['href']; ?>"><img src="<?php echo $category['thumb']; ?>"><span><?php echo $category['name']; ?></a></span>
      
      <?php if ($category['children']) { ?><?php /* верти, как тебе надо. не забывай ниже другой блок для случая, когда подкатегорий больше 4 */ ?>
      <div>
        <?php for ($i = 0; $i < count($category['children']);) { ?>
        <ul>
          <?php $j = $i + ceil(count($category['children']) / 3); ?>
          <?php for (; $i < $j; $i++) { ?>
          <?php if (isset($category['children'][$i])) { ?>
          <li><a href="<?php echo $category['children'][$i]['href']; ?>"><?php echo $category['children'][$i]['name']; ?></a></li>
          <?php } ?>
          <?php } ?>
        </ul>
        <?php } ?>
      </div>
      <?php } ?>
      
      </li>
      <?php } ?>

Share this post


Link to post
Share on other sites

Шикарно и для чайников. Большое спасибо.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.