Jump to content
Sign in to follow this  
voron121

[Решено] Проблема с выводом категорий в шаблоне

Recommended Posts

Доброго времени суток уважаемые форумчане. Появилась у меня трабла с , казалось бы, стандартной задачей в opencart - вывод категорий. Используется платный шаблон (переделываю за предыдущим разработчиком его косяки) . После переноса сайта на другой хостинг перестали выводиться категории в шапке сайта. Делаю var_dump в руфвукюезд - пишет NULL . В то же время делаю var_dump в контроллере - выводит массив с данными. Шаблон в контролере видится и подключается. Где ошибка - не могу понять . Возможно кто подскажет. Вот код вьюхи с категориями 

<?php if ($categories) { ?>
<div id="menu">
  <ul>
    <?php foreach ($categories as $category) { ?>
    <li><?php if ($category['active']) { ?>
	<a href="<?php echo $category['href']; ?>" class="active"><?php echo $category['name']; ?></a>
	<?php } else { ?>
	<a href="<?php echo $category['href']; ?>"><?php echo $category['name']; ?></a>
	<?php } ?>
	
      <?php if ($category['children']) { ?>
      <div>
        <?php for ($i = 0; $i < count($category['children']);) { ?>
        <ul>
          <?php $j = $i + ceil(count($category['children']) / $category['column']); ?>
          <?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 } ?>
  </ul>
</div>
<?php } ?>
<div id="menu">

Вот это в контроллере 

 

// Menu
		if (isset($this->request->get['path'])) {
			$parts = explode('_', (string)$this->request->get['path']);
		} else {
			$parts = array();
		}

		$this->load->model('catalog/category');
		
		$this->load->model('catalog/product');
		
		$this->load->model('tool/image');
		
		$this->data['categories'] = array();
					
		$categories = $this->model_catalog_category->getCategories(0);
		
		foreach ($categories as $category) {
			if ($category['top']) {
				// Level 2
				$children_data = array();
				
				$children = $this->model_catalog_category->getCategories($category['category_id']);
				
				foreach ($children as $child) {
					
					if($child['image']) {
						$cat_image = $this->model_tool_image->resize($child['image'],30,30);
					}else{
						$cat_image = $this->model_tool_image->resize('no_image_white.jpg',1,1);
					}
					
					//Будем вычислять кол-во товаров в категориях только если это кол-во надо показывать
					if ($this->config->get('config_product_count')) {
						$data = array(
							'filter_category_id'  => $child['category_id'],
							'filter_sub_category' => true
						);
						
						$product_total = $this->model_catalog_product->getTotalProducts($data);
					}
									
					$children_data[] = array(
						'name'  => $child['name'] . ($this->config->get('config_product_count') ? ' <span class="kolvo">' . $product_total . '</span>' : ''),
						'thumb' => $cat_image,
						'href'  => $this->url->link('product/category', 'path=' . $category['category_id'] . '_' . $child['category_id'])	
					);						
				}
				
				// Level 1
				$this->data['categories'][] = array(
					'name'     => $category['name'],
					'children' => $children_data,
					'active'   => in_array($category['category_id'], $parts),
					'column'   => $category['column'] ? $category['column'] : 1,
					'href'     => $this->url->link('product/category', 'path=' . $category['category_id'])
				);
			}
		}
		
		$this->children = array(
			'module/language',
			'module/currency',
			'module/cart'
		);

/*****************************************/
		$this->load->model('catalog/information');
		$this->data['top_info'] = array();

		foreach ($this->model_catalog_information->getInformations() as $result) {
			if ($result['top']) {
				$this->data['top_info'][] = array(
					'title' => $result['title'],
					'href'  => $this->url->link('information/information', 'information_id=' . $result['information_id'])
				);
			}
    	}
/****************************************/
				
		if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/header.tpl')) {
			$this->template = $this->config->get('config_template') . '/template/common/header.tpl';
		} else {
			$this->template = 'ava/template/common/header.tpl';
		}
		
    	$this->render();
	} 	
}
?>

Share this post


Link to post
Share on other sites

проблема решена - все было в модуле supermenu 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Similar Content

    • By magzhan9292
      300.00 руб
      Скачать/Купить дополнение


      Noticeup Вывод Категорий/Noticeup Category Output
      Выводит Стену категорий в нужном месте с помощью макетов
       
      Если вашей версии Opencart нет в списке сделаю за пол цены, обращайтесь.
       
       
      Добавил magzhan9292 Добавлено 15.01.2019 Категория Меню, дизайн, внешний вид Системные требования Сайт разработчика https://noticeup.kz/noticeup-category-output Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3 ocStore 2.3 OpenCart.Pro, ocShop Обращение к серверу разработчика  
    • By magzhan9292
      Выводит Стену категорий в нужном месте с помощью макетов
       
      Если вашей версии Opencart нет в списке сделаю за пол цены, обращайтесь.
       
       
    • By victormickhan
      Здравствуйте. Нужна помощь - не могу вывести категории(нужны свойства типа $categories["href"]) в файле шаблона $home.tpl.
      Попытки объявления переменной в контроллере файла home.tpl на подобии файлов контроллера header.tpl или category.tpl не увенчались успехом.
      Поммогите пожалуйста.
      Спасибо!!!
    • By deezler
      Привет. Хочу вывести все категории товара на странице этого товара. Не нашел полного решения под Opencart 2 ни в рунете, ни буржунете.
      Проверил решение для Opencart 1.5. По описанию — именно то, что надо, но не работает на 2.2, к сожалению.
      Получилось вывести название категорий без ссылок по инструкции. Но ссылку вывести никак не получается.
      Еще получилось вывести название категории и ссылку по инструкции отсюда. Но таким методом, как я понял, можно вывести только на одну категорию, как в хлебных крошках.
      Помогите, пожалуйста, сделать вывод ссылок на соответствующие категории.
    • By Igorewa
      Доброго времени суток уважаемы форумчане.Случилась дикая напасть.... В категории товаров выводятся товары в одном ряду 3, в следующем 1, ссылка на сайт Как сделать что бы их было 3 в каждом ряду.
      В интернете нашел, что нужно править common.js, но как править не пойму... С помощью перемен и подбора результату то же 0
      if (cols1 == 2) {
      $('#content .product-layout:nth-child(2n+2)').after('<div class="clearfix visible-md visible-sm"></div>');
      } else if (cols1 == 1) {
      $('#content .product-layout:nth-child(3n+3)').after('<div class="clearfix visible-lg"></div>');
      } else {
      $('#content .product-layout:nth-child(4n+4)').after('<div class="clearfix"></div>');
      }
      if (cols == 2) {
      $('#content .product-layout').attr('class', 'product-layout product-grid col-lg-6 col-md-6 col-sm-12 col-xs-12');
      } else if (cols == 1) {
      $('#content .product-layout').attr('class', 'product-layout product-grid col-lg-4 col-md-4 col-sm-6 col-xs-12');
      } else {
      $('#content .product-layout').attr('class', 'product-layout product-grid col-lg-3 col-md-3 col-sm-6 col-xs-12');
      }
      Подскажите кто знает что надо сделать что бы товар не скучал 1 в строке...
  • 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.