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

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


ikarus

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
Надіслати
Поділитися на інших сайтах

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

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


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

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

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

  • 1 month later...

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

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


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

 

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

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

  • 3 weeks later...

Спасибо за хороши модуль! Подскажите, как можно вывести списком вместо столбика? 

 

т.е. горизонтальным списком? li { display:inline;}

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

Вообще как наверное многие заметили модуль нафиг не нужен на странице списка производителей, а полезен будет только на странице производителя, но проблема состоит в том что у страницы списка производителей и страницы производителя одна и та же общая схема (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");

 

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

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

Подскажите, а где вставлять li { display:inline;} ?

спасибо

 

catalog/view/theme/modernlight/template/module/brands.tpl:

<li>
заменить на 
<li style="display:inline;">
Надіслати
Поділитися на інших сайтах

  • 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']),
Надіслати
Поділитися на інших сайтах


 

Если у кого-то на новой версии 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'])
				);
			}
Надіслати
Поділитися на інших сайтах


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

 

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

 

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

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


Появилась новая херь.. При нажатии на роизводителя - 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)
			);

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

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

 

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


Появилась новая херь.. При нажатии на роизводителя - 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
Надіслати
Поділитися на інших сайтах

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

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

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

 

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

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


  • 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-список-производителей/

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


  • 1 year later...

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

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

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


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

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

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

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

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

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

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

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


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

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

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

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

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

Вхід

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

Вхід зараз

×
×
  • Створити...

Important Information

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