Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

[Поддержка] Список производителей


Recommended Posts

Список производителей


Список производителей


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

Делал для себя, так как обнаружил что находясь на странице какого либо производителя выбрать другого производителя можно только вернувшись в начало списка... неудобно как то.. В общем может кому нибудь еще пригодится.

Для установки просто развернуть архив в корень, ничего не заменяет.

Для ocStore 1.5.3.1, на прочих не проверял

ДЕМО

p.s. В титле производителя выводится seo_title он же "HTML-тег Title", если выводить не надо, то в /template/module/brands.tpl заменить вот это:

<a class="active" href="<?php echo $brand['href']; ?>" title="<?php echo $brand['seo_title']; ?>"><?php echo $brand['name']; ?></a>

на это:

<a class="active" href="<?php echo $brand['href']; ?>" title="<?php echo $brand['name']; ?>"><?php echo $brand['name']; ?></a>

или на что хотите :)


 

  • +1 2
Link to comment
Share on other sites

Незнаю как у Вас, у меня почему-то косяки обнаруживаются. Например при включении данного модуля на страницах производителей, title производителя заменяется на слово Производители

Link to comment
Share on other sites


Незнаю как у Вас, у меня почему-то косяки обнаруживаются. Например при включении данного модуля на страницах производителей, title производителя заменяется на слово Производители

версия движка?

Link to comment
Share on other sites

  • 1 month later...

Полезная фишка, плюсанул. Только вот вопрос, как убрать отображение непосредственно в "product/manufacturer" ? Там списку явно не место, особенно если отображать в колонках (например, при расположении снизу, список не бросается в глаза при поиске по алфавитному указателю, но тогда теряется при отображении на странице выбранного производителя; т.о., место ему только в боковых колонках)

Link to comment
Share on other sites


Полезная фишка, плюсанул. Только вот вопрос, как убрать отображение непосредственно в "product/manufacturer" ? Там списку явно не место, особенно если отображать в колонках (например, при расположении снизу, список не бросается в глаза при поиске по алфавитному указателю, но тогда теряется при отображении на странице выбранного производителя; т.о., место ему только в боковых колонках)

 

если имеешь ввиду чтобы модуль было видно внутри производителей и не видно на странице списка производителей, то можно создать отдельную схему с путем product/manufacturer/product и разместить модуль только в ней.

Link to comment
Share on other sites

  • 3 weeks later...

Вообще как наверное многие заметили модуль нафиг не нужен на странице списка производителей, а полезен будет только на странице производителя, но проблема состоит в том что у страницы списка производителей и страницы производителя одна и та же общая схема (product/manufacturer), которая (до версии oc 1.5.5) перекрывает уточненную схему страницы производителя (product/manufacturer/product).

 

Короче если нужно показать модуль только на странице производителя делаем следующее:

1. Делаем новую схему(макет), называем как хотим, путь такой: product/manufacturer/product (с версии 1.5.4 product/manufacturer/info)

2. В файле catalog/model/design/layout.php:

строку

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "layout_route WHERE '" . $this->db->escape($route) . "' LIKE CONCAT(route, '%') AND store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY route ASC LIMIT 1");

заменить на

$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "layout_route WHERE '" . $this->db->escape($route) . "' LIKE CONCAT(route, '%') AND store_id = '" . (int)$this->config->get('config_store_id') . "' ORDER BY route DESC LIMIT 1");

 

Ну и разместить модуль только в новой схеме.

Link to comment
Share on other sites

  • 5 weeks later...

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

Запрашиваемая страница не найдена!

Идете сюда: \catalog\controller\module\brands.php
и меняете

'href' => $this->url->link('product/manufacturer/product','manufacturer_id=' . $result['manufacturer_id']),

на 

'href' => $this->url->link('product/manufacturer/info','manufacturer_id=' . $result['manufacturer_id']),
Link to comment
Share on other sites


 

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

Запрашиваемая страница не найдена!

Идете сюда: \catalog\controller\module\brands.php

и меняете


'href' => $this->url->link('product/manufacturer/product','manufacturer_id=' . $result['manufacturer_id']),

на 


'href' => $this->url->link('product/manufacturer/info','manufacturer_id=' . $result['manufacturer_id']),

 

А у кого OC Store и вообще не 1.5.5? 

 

Например у меня, отсутствует данный файл — «brand.php». Зато вхождение «$result['manufacturer_id']» два раза обнаружилось в «manufacturer.php» (catalog/controller/product/manufacturer.php). Причём, одно из них полностью соответствует рекомендованному вами исправлению*.

 

Но проблема остаётся.

 

--

* за исключением запятой в конце строки, но строка там последняя, перед «);»:

				$this->data['products'][] = array(
					'product_id'  => $result['product_id'],
					'thumb'       => $image,
					'name'        => $result['name'],
					'description' => utf8_substr(strip_tags(html_entity_decode($result['description'], ENT_QUOTES, 'UTF-8')), 0, 100) . '..',
					'price'       => $price,
					'special'     => $special,
					'tax'         => $tax,
					'rating'      => $result['rating'],
					'reviews'     => sprintf($this->language->get('text_reviews'), (int)$result['reviews']),
					'href'        => $this->url->link('product/product', $url . '&manufacturer_id=' . $result['manufacturer_id'] . '&product_id=' . $result['product_id'])
				);
			}
Link to comment
Share on other sites


Починилось благодаря рекомендации товарища afwollis:

 

Поиском по файлам, заменить все вхождения «product/manufacturer/product» на «product/manufacturer/info».

 

У меня данное вхождение обнаружилось только в /catalog/controller/common/seo_pro.php, было исправлено и всё заработало.

  • +1 1
Link to comment
Share on other sites


Появилась новая херь.. При нажатии на роизводителя - Parse error: syntax error, unexpected T_DOUBLE_ARROW in /vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 356

            if ($this->config->get('config_date_added_desc_man')) {
            $this->data['sorts'][] = array(
    			'text'  => $this->config->get('config_date_added_desc_text_man'),
				'value' => 'p.date_added-DESC',
				'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.date_added&order=DESC' . $url)
			);

				'value' => 'p.model-DESC',
				'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url)
			);
	
			$url = '';
					
			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}	

выделенная 356 строка, я уже голову сломал в скриптах, не могу найти в чем дело. Если вытираю в КЕШЕ строку

		'value' => 'p.model-DESC',
				'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url)
			);

всё -  песня, производитель выводится. НО! я не могу это оставить, оно не дает мне уснуть..

где собака зарыта??

 

Link to comment
Share on other sites


Появилась новая херь.. При нажатии на роизводителя - Parse error: syntax error, unexpected T_DOUBLE_ARROW in /vqmod/vqcache/vq2-catalog_controller_product_manufacturer.php on line 356

            if ($this->config->get('config_date_added_desc_man')) {
            $this->data['sorts'][] = array(
    			'text'  => $this->config->get('config_date_added_desc_text_man'),
				'value' => 'p.date_added-DESC',
				'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.date_added&order=DESC' . $url)
			);

				'value' => 'p.model-DESC',
				'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url)
			);
	
			$url = '';
					
			if (isset($this->request->get['sort'])) {
				$url .= '&sort=' . $this->request->get['sort'];
			}	

выделенная 356 строка, я уже голову сломал в скриптах, не могу найти в чем дело. Если вытираю в КЕШЕ строку

		'value' => 'p.model-DESC',
				'href'  => $this->url->link('product/manufacturer/info', 'manufacturer_id=' . $this->request->get['manufacturer_id'] . '&sort=p.model&order=DESC' . $url)
			);

всё -  песня, производитель выводится. НО! я не могу это оставить, оно не дает мне уснуть..

где собака зарыта??

 

 

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

  • +1 1
Link to comment
Share on other sites

  • 2 weeks later...
  • 1 month later...

Данный модуль работает прекрасно и на версии OcStore 1.5.5.1.1 , если в файле \catalog\controller\module\brands.php поменять в строке 16

product/manufacturer/product 
на 
product/manufacturer/info

 

Спасибо большое за модуль, все работает.

Link to comment
Share on other sites


  • 3 months later...

ikarus, Спасибо за модуль! Пригодится.

Правда чтобы модуль выглядел так же как блок категорий пришлось в файле /template/module/brands.tpl добавить класс тегу в строке 6:

<ul class="box-category">.

Как я понимаю, теперь DIV в строке 4 оказался не нужным, можно удалить его и закрывающий тег в строке 17.

 

Keyser, спасибо за совет! После такой правки и на OcStore 1.5.5.1.2 работает.
 

PS: почему-то не получается наставить звёздочек на странице закачки: https://opencartforum.com/files/file/1165-список-производителей/

Link to comment
Share on other sites


  • 1 year later...

Что подправить, что бы в макетах можно было выбирать плагин? Остальные конфликты исправил для версии Open Cart 2.0.1.1

Плагин установил, включил, настроил, перехожу в макеты и не видно его..

Link to comment
Share on other sites


  • 2 weeks later...
  • 2 months later...

Ребята, верстка поплыла, когда перехожу к производителю любому. 

Подскажите пожалуйста какой он шаблон использует для вывода Товаров данного производителя?

чтобы я покопался и выровнял всё.

Спасибо заранее.

Модуль чудесный, решил все вопрос. Есть правда один еще вопрос. 

У меня много производителей, я хочу из спрятать, если их больше 10 к примеру. Чтобы последний пункт был Все производители и при нажатии, если человеку будет нужно, они выезжали дальше.

Link to comment
Share on other sites


Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

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.