Перейти к содержанию

Рекомендуемые сообщения

Добрый день! 

Необходимо в определенную категорию вывести товары, которые состоят в другой категории.

Данный шаблон лучше реализовать на ID категории.

 

То есть, для каждой категории на сайте я могу установить персонализированный шаблон и вот для одной категории мне нужно прописать, чтобы в этой категории выводились все товары из категории №5 например.

 

Знаю, что можно просто добавить все нужные товары в эту категорию и ничего не мудрить с шаблонами, но нужно именно так, чтобы в эту категорию брались товары из другой.

 

Вот существующий шаблон.

Айди нужно категории 238.

<?php
	$config = $this->registry->get('config');
?>
<?php
  $id_slider = '111';
?>
<?php echo $header; ?>
  <ul class="breadcrumb">
    <?php foreach ($breadcrumbs as $i=> $breadcrumb) { ?>
	<li><?php if($i+1<count($breadcrumbs)) { ?><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a> <?php } else { ?><?php echo $breadcrumb['text']; ?><?php } ?></li>
	<?php } ?>
  </ul>
  <?php echo $content_top; ?>
<div class="container category-page parket">
  <div class="row"><?php echo $column_left; ?>
    <?php if ($column_left && $column_right) { ?>
    <?php $class = 'col-sm-6'; ?>
    <?php } elseif ($column_left || $column_right) { ?>
    <?php $class = 'col-sm-9'; ?>
    <?php } else { ?>
    <?php $class = 'col-sm-12'; ?>
    <?php } ?>
    <div id="content" class="<?php echo $class; ?>">
		<div class="cattitle">
		  <h1><?php echo $heading_title; ?></h1>
		  <div class="blocks hidden-xs">
			<?php } ?>
				</div>
			  <?php } ?>
			</div>
		</div>
	  
	<?php if ($products_sub) { ?>
		<div class="product-grid">
			<div class="row flex-container">
			<?php foreach ($products_sub as $product_sub) { ?>
			<div class="col-xs-12 col-sm-25 product-container">
			<div class="product-block">
			<?php if ($product_sub['thumb']) { ?>
			<div class="image">
			<a href="<?php echo $product_sub['href']; ?>" style="background:transparent; box-shadow:none;">
			<img src="<?php echo $product_sub['thumb']; ?>" title="<?php echo $product_sub['name']; ?>" alt="<?php echo $product_sub['name']; ?>" />
			<div class="more">Посмотреть все цвета и варианты</div>
			</a>
			</div>
			<?php } ?>
			<span class="product-name hidden"><?php echo $product_sub['name']; ?></span>
			<div class="prod-model">
				<a href="<?php echo $product_sub['href']; ?>" style="background:transparent; box-shadow:none;"><span class="model"><?php echo $product_sub['model']; ?></span></a>
			</div>
			<?php if ($product_sub['price']) { ?>
				<div class="price">
						<span class="button typecatalog modal-raschet">Рассчитать</span>
					</div>
							<?php } ?>
			</div>
			</div>
			<?php } ?>
			</div>
		</div>
		<div class="row">
			<div class="text-center"><?php echo $pagination; ?></div>
		</div>
	<?php } ?>
	  
	  
      <?php if (!$categories && !$products_sub) { ?>
      <p><?php echo $text_empty; ?></p>
      <div class="buttons">
        <div class="pull-right"><a href="<?php echo $continue; ?>" class="btn btn-primary"><?php echo $button_continue; ?></a></div>
      </div>
      <?php } ?>
      </div>
	  <div class="clearfix"></div>
	    <?php if ($description) { ?>
				  <div class="description" <?php if ($designer || (isset($inzh_systems_sub) && ($inzh_systems_sub))) echo 'style="text-align: justify; padding: 0 2em 0 1em;"'; ?>>
					  <p><?php echo $description; ?></p>
				  </div>
			  <?php } ?>
    <?php echo $column_right; ?></div>
</div>



<?php echo $footer; ?>

Я буду очень признателен за помощь!!!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

не нужно говно делать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
16 минут назад, n3bo сказал:

не нужно говно делать

Почему это говно?

 

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

Если бы для данной категории я просто поставил вывод товаров из категории 238, то у меня бы выводились нужные товары.

 

Почему это не правильно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так а в чем проблема поменять категорию при запросе?

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
1 минуту назад, spectre сказал:

Так а в чем проблема поменять категорию при запросе?

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

Я думал в шаблоне прописать "типо брать товар из категории 238" и все.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

это не в шаблоне а в контроллере категории нужно сделать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
4 минуты назад, spectre сказал:

это не в шаблоне а в контроллере категории нужно сделать

$data['products_sub'][] = array(
					'product_id'  => $result_sub['product_id'],
					'thumb'       => $image,
					'name'        => $result_sub['name'],
					'model'       => $result_sub['model'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result_sub['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
					'minimum'     => $result_sub['minimum'] > 0 ? $result_sub['minimum'] : 1,
					'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result_sub['product_id'] . $url)
				);

Вот такой текст есть там, тут менять?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
3 минуты назад, spectre сказал:

нет

<?php
class ControllerProductCategory extends Controller {
	public function index() {
		$this->load->language('product/category');

		$this->load->model('catalog/category');

		$this->load->model('catalog/product');
		
		$this->load->model('catalog/designer');

		$this->load->model('catalog/inzhsystem');

		$this->load->model('tool/image');

		if (isset($this->request->get['filter'])) {
			$filter = $this->request->get['filter'];
		} else {
			$filter = '';
		}

		if (isset($this->request->get['sort'])) {
			$sort = $this->request->get['sort'];
		} else {
			$sort = 'p.sort_order';
		}

		if (isset($this->request->get['order'])) {
			$order = $this->request->get['order'];
		} else {
			$order = 'ASC';
		}

		if (isset($this->request->get['page'])) {
			$page = $this->request->get['page'];
		} else {
			$page = 1;
		}

		if (isset($this->request->get['limit'])) {
			$limit = (int)$this->request->get['limit'];
		} else {
			$limit = $this->config->get('config_product_limit');
		}

		$data['breadcrumbs'] = array();

		$data['breadcrumbs'][] = array(
			'text' => $this->language->get('text_home'),
			'href' => $this->url->link('common/home')
		);

		if (isset($this->request->get['path'])) {
			$url = '';

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$path = '';

			$parts = explode('_', (string)$this->request->get['path']);

			$category_id = (int)array_pop($parts);

			foreach ($parts as $path_id) {
				if (!$path) {
					$path = (int)$path_id;
				} else {
					$path .= '_' . (int)$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 . $url)
					);
				}
			}
			
			$cat_level = count($parts);
			
		} else {
			$category_id = 0;
			$cat_level = 0;
		}

		$category_info = $this->model_catalog_category->getCategory($category_id);

		if ($category_info) {
			if ($category_info['meta_title']) {
				$this->document->setTitle($category_info['meta_title']);
			} else {
				$this->document->setTitle($category_info['name']);
			}
			
			$this->document->setDescription($category_info['meta_description']);
			$this->document->setKeywords($category_info['meta_keyword']);

			if ($category_info['meta_h1']) {
				$data['heading_title'] = $category_info['meta_h1'];
			} else {
				$data['heading_title'] = $category_info['name'];
			}
			
			if ($category_info['clear'] == 1 && (preg_match("/^\/[0-9a-z_\-]*\/$/i", $_SERVER['REQUEST_URI']))) {
				$clear = 1;
				$data['clear'] = $clear;
				$GLOBALS['category_clear'] = $clear;
				$product_total = 0;
			} else {
				$clear = null;
				$GLOBALS['category_clear'] = $clear;
				$data['clear'] = $clear;
			}

			$data['text_refine'] = $this->language->get('text_refine');
			$data['text_empty'] = $this->language->get('text_empty');
			$data['text_quantity'] = $this->language->get('text_quantity');
			$data['text_manufacturer'] = $this->language->get('text_manufacturer');
			$data['text_model'] = $this->language->get('text_model');
			$data['text_designer'] = $this->language->get('text_designer');
			$data['text_price'] = $this->language->get('text_price');
			$data['text_tax'] = $this->language->get('text_tax');
			$data['text_points'] = $this->language->get('text_points');
			$data['text_compare'] = sprintf($this->language->get('text_compare'), (isset($this->session->data['compare']) ? count($this->session->data['compare']) : 0));
			$data['text_sort'] = $this->language->get('text_sort');
			$data['text_limit'] = $this->language->get('text_limit');

			$data['button_cart'] = $this->language->get('button_cart');
			$data['button_wishlist'] = $this->language->get('button_wishlist');
			$data['button_compare'] = $this->language->get('button_compare');
			$data['button_continue'] = $this->language->get('button_continue');
			$data['button_list'] = $this->language->get('button_list');
			$data['button_grid'] = $this->language->get('button_grid');

			$data['text_new'] = $this->language->get('text_new');
			$data['text_quickview'] = $this->language->get('text_quickview');
			$data['page_title'] = $this->language->get('page_title');

			// Set the last category breadcrumb
			$data['breadcrumbs'][] = array(
				'text' => $category_info['name'],
				'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'])
			);

			if ($category_info['image']) {
				$data['thumb'] = $this->model_tool_image->resize($category_info['image'], $this->config->get('config_image_category_width'), $this->config->get('config_image_category_height'));
			} else {
				$data['thumb'] = '';
			}

			$data['description'] = html_entity_decode($category_info['description'], ENT_QUOTES, 'UTF-8');
			$data['compare'] = $this->url->link('product/compare');

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}
			
			$data['designer'] = $this->model_catalog_designer->getDesigner($category_info['designer_id']);

			$inzh_systems_data_sub = $this->model_catalog_inzhsystem->getInzhSystems($category_info['category_id']);
			
			foreach ($inzh_systems_data_sub as $inzh_system_sub) {
				foreach ($inzh_system_sub as $inzh_system_sub_id) {
					$related_info = $this->model_catalog_inzhsystem->getInzhSystem($inzh_system_sub_id);
					
					if ($related_info) {
						$data['inzh_systems_sub'][] = array(
							'image' 	=> $related_info['image'],
							'name'      => $related_info['name'],
							'url'       => $related_info['url']
						);
					}
				}
			}
			
			if ($clear != 1) {

			$data['products_sub'] = array();

			$filter_data_sub = array(
				'filter_category_id' => $category_id,
				'filter_filter'      => $filter,
				'sort'               => $sort,
				'order'              => $order,
				'start'              => ($page - 1) * $limit,
				'limit'              => $limit
			);

			$product_total = $this->model_catalog_product->getTotalProducts($filter_data_sub);

			$results_sub = $this->model_catalog_product->getProducts($filter_data_sub);

			foreach ($results_sub as $result_sub) {
				if ($result_sub['image']) {
					$image = $this->model_tool_image->resize($result_sub['image'], 0, $this->config->get('config_image_product_height'));
				} else {
					$image = $this->model_tool_image->resize('placeholder.png', 0, $this->config->get('config_image_product_height'));
				}

				if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
					$price = $this->currency->format($this->tax->calculate($result_sub['price'], $result_sub['tax_class_id'], $this->config->get('config_tax')));
				} else {
					$price = false;
				}

				if ((float)$result_sub['special']) {
					$special = $this->currency->format($this->tax->calculate($result_sub['special'], $result_sub['tax_class_id'], $this->config->get('config_tax')));
				} else {
					$special = false;
				}

				if ($this->config->get('config_tax')) {
					$tax = $this->currency->format((float)$result_sub['special'] ? $result_sub['special'] : $result_sub['price']);
				} else {
					$tax = false;
				}

				if ($this->config->get('config_review_status')) {
					$rating = (int)$result_sub['rating'];
				} else {
					$rating = false;
				}

				$data['products_sub'][] = array(
					'product_id'  => $result_sub['product_id'],
					'thumb'       => $image,
					'name'        => $result_sub['name'],
					'model'       => $result_sub['model'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result_sub['description'], ENT_QUOTES, 'UTF-8')), 0, $this->config->get('config_product_description_length')) . '..',
					'price'       => $price,
					'special'     => $special,
					'minimum'     => $result_sub['minimum'] > 0 ? $result_sub['minimum'] : 1,
					'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result_sub['product_id'] . $url)
				);
			}

			$data['categories'] = array();

			$categories = $this->model_catalog_category->getCategories($category_id);

			foreach ($categories as $category) {
				$products_data = array();
				$inzh_systems_info = array();
				
				$filt_data = array(
					'filter_category_id' => $category['category_id'],
					'filter_filter'      => $filter,
					'sort'               => $sort,
					'order'              => $order,
					'start'              => ($page - 1) * $limit,
					'limit'              => 500
				);
				
				//$product_total = $this->model_catalog_product->getTotalProducts($filt_data); 
 
				$results = $this->model_catalog_product->getProducts($filt_data);

				foreach ($results as $result) {
					if ($result['image']) {
						$image = $this->model_tool_image->resize($result['image'], 0, $this->config->get('config_image_product_height'));
					} else {
						$image = $this->model_tool_image->resize('placeholder.png', $this->config->get('config_image_product_width'), $this->config->get('config_image_product_height'));
					}

					if (($this->config->get('config_customer_price') && $this->customer->isLogged()) || !$this->config->get('config_customer_price')) {
						$price = $this->currency->format($this->tax->calculate($result['price'], $result['tax_class_id'], $this->config->get('config_tax')));
					} else {
						$price = false;
					}

					if ((float)$result['special']) {
						$special = $this->currency->format($this->tax->calculate($result['special'], $result['tax_class_id'], $this->config->get('config_tax')));
					} else {
						$special = false;
					}

					if ($this->config->get('config_tax')) {
						$tax = $this->currency->format((float)$result['special'] ? $result['special'] : $result['price']);
					} else {
						$tax = false;
					}

					if ($this->config->get('config_review_status')) {
						$rating = (int)$result['rating'];
					} else {
						$rating = false;
					}

					$products_data[] = array(
						'product_id'  => $result['product_id'],
						'thumb'       => $image,
						'name'        => $result['name'],
						'model'		  => $result['model'],
						'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 250, $this->config->get('config_product_description_length')) . '..',
						'price'       => $price,
						'special'     => $special,
						'minimum'     => $result['minimum'] > 0 ? $result['minimum'] : 1,
						'startdate'  => $result['date_available'],
						'href'        => $this->url->link('product/product', 'path=' . $this->request->get['path'] . '&product_id=' . $result['product_id'] . $url)
					);
				}
								
				$data['designer_data'] = array();
				
				$designer_data = $this->model_catalog_designer->getDesigner($category['designer_id']);
				
				if (!$designer_data) {
					$designer_data['name'] = '';
					$designer_data['image'] = '';
				}
				
				$inzh_systems_data = $this->model_catalog_inzhsystem->getInzhSystems($category['category_id']);
			
				foreach ($inzh_systems_data as $inzh_system) {
					foreach ($inzh_system as $inzh_system_id) {
						$related_info = $this->model_catalog_inzhsystem->getInzhSystem($inzh_system_id);
						
						if ($related_info) {
							$inzh_systems_info[] = array(
								'image' 	=> $related_info['image'],
								'name'      => $related_info['name'],
								'url'       => $related_info['url']
							);
						}
					}
				}
				
				$data['categories'][] = array(
					'category_id' => $category['category_id'],
					'thumb'		  => $category['image'],
					'products'    => $products_data,
					'designer_name'     => $designer_data['name'],
					'designer_image'    => $designer_data['image'],
					'inzh_systems'		=> $inzh_systems_info,
					'name' => $category['name'] . ($this->config->get('config_product_count') ? ' (' . $this->model_catalog_product->getTotalProducts($filter_data) . ')' : ''),
					'description' => strip_tags(html_entity_decode($category['description'], ENT_QUOTES, 'UTF-8')),
					'href' => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '_' . $category['category_id'] . $url)
				);
				
			}
			
			}

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$data['sorts'] = array();

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_default'),
				'value' => 'p.sort_order-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.sort_order&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_name_asc'),
				'value' => 'pd.name-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_name_desc'),
				'value' => 'pd.name-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=pd.name&order=DESC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_price_asc'),
				'value' => 'p.price-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_price_desc'),
				'value' => 'p.price-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.price&order=DESC' . $url)
			);

			if ($this->config->get('config_review_status')) {
				$data['sorts'][] = array(
					'text'  => $this->language->get('text_rating_desc'),
					'value' => 'rating-DESC',
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=DESC' . $url)
				);

				$data['sorts'][] = array(
					'text'  => $this->language->get('text_rating_asc'),
					'value' => 'rating-ASC',
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=rating&order=ASC' . $url)
				);
			}

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_model_asc'),
				'value' => 'p.model-ASC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=ASC' . $url)
			);

			$data['sorts'][] = array(
				'text'  => $this->language->get('text_model_desc'),
				'value' => 'p.model-DESC',
				'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . '&sort=p.model&order=DESC' . $url)
			);

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			$data['limits'] = array();

			$limits = array_unique(array($this->config->get('config_product_limit'), 25, 50, 75, 100));

			sort($limits);

			foreach($limits as $value) {
				$data['limits'][] = array(
					'text'  => $value,
					'value' => $value,
					'href'  => $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&limit=' . $value)
				);
			}

			$url = '';

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$pagination = new Pagination();
			$pagination->total = $product_total;
			$pagination->page = $page;
			$pagination->limit = $limit;
			$pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}');

			$data['pagination'] = $pagination->render();

			$data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($product_total - $limit)) ? $product_total : ((($page - 1) * $limit) + $limit), $product_total, ceil($product_total / $limit));

			// http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html
			if ($page == 1) {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], 'SSL'), 'canonical');
			} elseif ($page == 2) {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'], 'SSL'), 'prev');
			} else {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page - 1), 'SSL'), 'prev');
			}

			if ($limit && ceil($product_total / $limit) > $page) {
			    $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1), 'SSL'), 'next');
			}

			$data['sort'] = $sort;
			$data['order'] = $order;
			$data['limit'] = $limit;

			$data['continue'] = $this->url->link('common/home');

			$data['column_left'] = $this->load->controller('common/column_left');
			$data['column_right'] = $this->load->controller('common/column_right');
			$data['content_top'] = $this->load->controller('common/content_top');
			$data['content_bottom'] = $this->load->controller('common/content_bottom');
			$data['footer'] = $this->load->controller('common/footer');
			$data['header'] = $this->load->controller('common/header');

			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/product/category.tpl')) {
				$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/product/category.tpl', $data));
			} else {
				$this->response->setOutput($this->load->view('default/template/product/category.tpl', $data));
			}
		} else {
			$url = '';

			if (isset($this->request->get['path'])) {
				$url .= '&path=' . $this->request->get['path'];
			}

			if (isset($this->request->get['filter'])) {
				$url .= '&filter=' . $this->request->get['filter'];
			}

			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}

			if (isset($this->request->get['order'])) {
				$url .= '&order=' . $this->request->get['order'];
			}

			if (isset($this->request->get['page'])) {
				$url .= '&page=' . $this->request->get['page'];
			}

			if (isset($this->request->get['limit'])) {
				$url .= '&limit=' . $this->request->get['limit'];
			}

			$data['breadcrumbs'][] = array(
				'text' => $this->language->get('text_error'),
				'href' => $this->url->link('product/category', $url)
			);

			$this->document->setTitle($this->language->get('text_error'));

			$data['heading_title'] = $this->language->get('text_error');

			$data['text_error'] = $this->language->get('text_error');

			$data['button_continue'] = $this->language->get('button_continue');

			$data['continue'] = $this->url->link('common/home');

			$this->response->addHeader($this->request->server['SERVER_PROTOCOL'] . ' 404 Not Found');

			$data['column_left'] = $this->load->controller('common/column_left');
			$data['column_right'] = $this->load->controller('common/column_right');
			$data['content_top'] = $this->load->controller('common/content_top');
			$data['content_bottom'] = $this->load->controller('common/content_bottom');
			$data['footer'] = $this->load->controller('common/footer');
			$data['header'] = $this->load->controller('common/header');

			if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/error/not_found.tpl')) {
				$this->response->setOutput($this->load->view($this->config->get('config_template') . '/template/error/not_found.tpl', $data));
			} else {
				$this->response->setOutput($this->load->view('default/template/error/not_found.tpl', $data));
			}
		}
	}
}

вот весь файл, буду благодарен, если подскажите.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@alexandr12345 тегами нельзя их структуировать?
ну или использовать тупо фильтр?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
51 минуту назад, AWARO сказал:

@alexandr12345 тегами нельзя их структуировать?
ну или использовать тупо фильтр?

нет, нужен другой способ решения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От fanatic
      500.00 руб
      Скачать/Купить дополнение


      Сопутствующие товары
      Модуль, выводит сопутствующие товары из выбранных категорий.
      Принцип работы:
      выбираем  главную категорию, привязываем к ней сопутствующие. 
      для каждой категории, можно задать количество выводимых товаров.
      товары, выбираются рандомно.  так же можно привязать отдельные товары.
       
      Настройки:
      Вывод   - товары из категорий, отдельные товары или и то и другое вместе.
      Вид  -  плитка или слайдер
      настройка слайдера
      настойка полей для вывода
      выводить или нет заголовок
      размеры изображений
       
      модуль выводит
      товары из привязанных категорий(количество задается в админке, выбор рандом)
      определенные товары(выбираются в админке)
      товары из категорий + произвольные товары
      категории
       
      настроили связи
      создали модуль
      добавили модуль в макет
      готово.
       
      Установка ; 
      Загрузить архив через установщик дополнений.
      Система -> Пользователи  -> Группы пользователей    даем права на просмотр и редактирование
       
      Для вывода в корзине и в карточке товара(в табе),  в дополнениях смотрите модуль "Товары из сопутствующих категорий в корзине и карточке товара"
       
      Для корректной работы модуля, нужен  SeoPro   SeoPro
       
      Без проблем работает на дефолнтом шаблоне.
      C другими, может потребоваться адаптация.
       
      для  2.3     файл    assosiated_category_now_catr_and_card_product_2.3.ocmod.zip
      для  2.1 и 2.2   файл    associated_category_2.x.ocmod.zip
       
      Тестировалось на   OpenCart ,  OcStore  2.1 | 2.2 | 2.3
      Демо:
      страница товара(в табе и блок внизу)
       
      страница категории
      Админка       login   demo  pass  demo
      Добавил fanatic Добавлено 01.03.2018 Категория Модули Системные требования SeoPro Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 2.3
      2.2
      2.1 ocStore 2.3
      2.2
      2.1 OpenCart.Pro, ocShop  
    • От Otvet
      300.00 руб
      Скачать/Купить дополнение


      FX AddOn Pack #1 = Редирект-менеджер + Категория/Бренд + <noindex>
      Пакет дополнений к модулю Full IndeX, отдельно от которого работа данных дополнений невозможна или неполноценна
      Включает в себя:
      FX Redirects Manager AddOn FX Manufacturers AddOn FX Yandex noindex AddOn  
      FX Redirects Manager
      Менеджер редиректов. Позволяет перенаправлять со старых/битых страниц на новые. В дальнейшем будет работать и на любых иных страницах.
      Главные отличительные особенности на фоне конкурентов:
      отсутствие влияния на скорость работы сайта (редиректы работают только если страница не найдена) безопасность (редирект не сработает если страница существует и была занесена с список по ошибке)  
      Новый функционал:
      редиректы по маске (beta) редиректы не только со старых/битых страниц но и с любых иных (запрос)
      При наличии спроса будет добавлено:
      редиректы из файла  
       
      FX Manufacturers
      Модуль создающий подкатегории вида Категория/Бренд и выводящий меню производителей в категориях для перехода по ним. Возможна автономная работа, но Мета теги и Заголовки без Full Index не будут уникальны.
      Для чего? Создания посадочных страниц в первую очередь, ибо запросы товара с уточнением производителя практически всегда входят в СЧ-ВЧ
      Функционал:
      Вывод меню брендов (виджет или как угодно назвать можно) Исправление ссылок пагинации/сортировки с учетом производителя Добавление в хлебные крошки Совместимость с OCFilter  
       
      FX Yandex noindex
      Дополнения добавляет опции позволяющие закрыть от индексации повторяющиеся сквозные блоки тегом <!--noindex-->, тем самым сократить дублирующийся контент на страницах навигации
      Работает в паре с Full IndeX 4
      Добавил Otvet Добавлено 03.01.2017 Категория Прочее Системные требования Full Index не ниже версии 3.9.9 Метод активации Автоматическая активация Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.4.1
      1.5.3.1 ocStore 2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1
      1.5.4.1.2
      1.5.4.1.1
      1.5.4.1
      1.5.3.1
      1.5.2.1
      1.5.1.3 OpenCart.Pro, ocShop  
    • От Otvet
      Пакет дополнений к модулю Full IndeX, отдельно от которого работа данных дополнений невозможна или неполноценна
      Включает в себя:
      FX Redirects Manager AddOn FX Manufacturers AddOn FX Yandex noindex AddOn  
      FX Redirects Manager
      Менеджер редиректов. Позволяет перенаправлять со старых/битых страниц на новые. В дальнейшем будет работать и на любых иных страницах.
      Главные отличительные особенности на фоне конкурентов:
      отсутствие влияния на скорость работы сайта (редиректы работают только если страница не найдена) безопасность (редирект не сработает если страница существует и была занесена с список по ошибке)  
      Новый функционал:
      редиректы по маске (beta) редиректы не только со старых/битых страниц но и с любых иных (запрос)
      При наличии спроса будет добавлено:
      редиректы из файла  
       
      FX Manufacturers
      Модуль создающий подкатегории вида Категория/Бренд и выводящий меню производителей в категориях для перехода по ним. Возможна автономная работа, но Мета теги и Заголовки без Full Index не будут уникальны.
      Для чего? Создания посадочных страниц в первую очередь, ибо запросы товара с уточнением производителя практически всегда входят в СЧ-ВЧ
      Функционал:
      Вывод меню брендов (виджет или как угодно назвать можно) Исправление ссылок пагинации/сортировки с учетом производителя Добавление в хлебные крошки Совместимость с OCFilter  
       
      FX Yandex noindex
      Дополнения добавляет опции позволяющие закрыть от индексации повторяющиеся сквозные блоки тегом <!--noindex-->, тем самым сократить дублирующийся контент на страницах навигации
      Работает в паре с Full IndeX 4
    • От teamcheg1
      Добрый день, товарищи!
      Необходима Ваша помощь в достижении результата)
      Как немногие знают - в создании интернет - магазина, например, плитки, нельзя показывать тупо плитку)) Её нужно показывать коллекциями (интерьерами). Коллекции делаются подкатегориями. Ничего зазорного в этом не вижу. Ну, допустим сделал я) Получилось следующее:
       

      Вроде бы - всё здорово. Но есть одно "НО". Я использую на сайте MegaFilter для OC. Отлично справляется со своей работой. 

      Вопрос собственно в чем - если по фильтрации в данной коллекции нет товаров - можно ли скрыть данную коллекцию? Сейчас получается следующее - я выбираю в фильтре другую коллекцию, страну или прочее, а категория стоит на месте. При заходе в нее вот что:
       
    • От fanatic
      Модуль, выводит сопутствующие товары из выбранных категорий.
      Принцип работы:
      выбираем  главную категорию, привязываем к ней сопутствующие. 
      для каждой категории, можно задать количество выводимых товаров.
      товары, выбираются рандомно.  так же можно привязать отдельные товары.
       
      Настройки:
      Вывод   - товары из категорий, отдельные товары или и то и другое вместе.
      Вид  -  плитка или слайдер
      настройка слайдера
      настойка полей для вывода
      выводить или нет заголовок
      размеры изображений
       
      модуль выводит
      товары из привязанных категорий(количество задается в админке, выбор рандом)
      определенные товары(выбираются в админке)
      товары из категорий + произвольные товары
      категории
       
      настроили связи
      создали модуль
      добавили модуль в макет
      готово.
       
      Установка ; 
      Загрузить архив через установщик дополнений.
      Система -> Пользователи  -> Группы пользователей    даем права на просмотр и редактирование
       
      Для вывода в корзине и в карточке товара(в табе),  в дополнениях смотрите модуль "Товары из сопутствующих категорий в корзине и карточке товара"
       
      Для корректной работы модуля, нужен  SeoPro   SeoPro
       
      Без проблем работает на дефолнтом шаблоне.
      C другими, может потребоваться адаптация.
       
      для  2.3     файл    assosiated_category_now_catr_and_card_product_2.3.ocmod.zip
      для  2.1 и 2.2   файл    associated_category_2.x.ocmod.zip
       
      Тестировалось на   OpenCart ,  OcStore  2.1 | 2.2 | 2.3
      Демо:
      страница товара(в табе и блок внизу)
       
      страница категории
      Админка       login   demo  pass  demo
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.