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

Фильтр по производителя в категории (vqmod) [Поддержка]


Jamb86

Recommended Posts

  • 1 month later...

Как сделать чтобы фильтр не появлялся в катеории, если в ней вообще нет товаров, а есть только в подкатегориях.

Описаный выше способ, по добавлению строки над $sql .= " GROUP BY p.manufacturer_id"; - результата не дал.

Что можно еще придумать?

Очень надо.

 

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

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


в xml попробуйте

перед

$sql .= " GROUP BY p.manufacturer_id";

добавить

$sql .= " WHERE p.`status`=1 ";

не проверял, но должно работать если я вас правильно понял

тоже интересует. так не работает, проверял

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


  • 2 weeks later...

Приветствую!

Уважаемые господа, такая ситуация взял модуль записал без moda хочу встроить данный фильтр в стоку продукт фильтре     <div class="product-filter">  в файле category.tpl  в виде выпадающего меню

вышло вот так 

 

      <select onchange="location = this.value;">

      <?php foreach ($manufacturers as $manufacturer) { ?>
      <?php if($manufacturer['manufacturer_id']==$manufacturer_id) { ?> 
      <option value="<?php echo $all_manufacturers; ?>" selected="selected">Все</option>           
      <?php } else { ?>
      <option value="<?php echo $manufacturer['href'] ?>"><?php echo $manufacturer['name'] ?></option>
       <?php } ?>
       <?php } ?>

      </select>

 

проблема в следующем: при выводе всего подкаталога нужно сделать что бы выводиться надпись "Все" место первой фирмы 

 

оригинал фильтра в документе .tpl

<!-- Manufacturers -->
                       <?php if ($manufacturers) { ?>
                       <div class="manufacturers">
                            <?php if ($manufacturer_id==0) { ?>
                            <span>Все производители</span>
                            <?php } else { ?>
                            <a href="<?php echo $all_manufacturers; ?>">Все производители</a>
                            <?php } ?>
                            <?php foreach ($manufacturers as $manufacturer) { ?>
                            <?php if($manufacturer['manufacturer_id']==$manufacturer_id) { ?>
                            <span><?php echo $manufacturer['name'] ?></span>
                            <?php } else {?>
                            <a href="<?php echo $manufacturer['href'] ?>"><?php echo $manufacturer['name'] ?></a>
                            <?php }?>
                            
                            <?php } ?>
                        </div>
                        <?php } ?>
 
что посоветуете ? Спасибо
Надіслати
Поділитися на інших сайтах

  • 2 months later...

Спасибо большое автору, скажите а есть ли решения фильтров наоборот? Фильтр по категориям в производителях, а то заходишь в бренд а там сразу список всех товаров без каких-либо фильтров, заранее спасибо.

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


  • 3 weeks later...
  • 3 months later...

Версия 1.5.5.1.2

Cначала была проблема, решение которой в предыдущем посте, после выскочила следующая ошибка:
Parse error: syntax error, unexpected T_PUBLIC in /home/trainstore/trainstore.ru/docs/vqmod/vqcache/vq2-catalog_model_catalog_category.php on line 102

 

 

//upd.

господи, сглупил. все работает на ура !

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


  • 4 weeks later...

Версия 1.5.5.1.1 Не работает пишет : Fatal error: Call to undefined method ModelCatalogCategory::getCategoriesByParentId() in /home/cp954810/public_html/vqmod/vqcache/vq2-catalog_model_catalog_category.php on line 16

 

Помогите пожалуйста решить проблему.

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


  • 4 weeks later...
  • 2 weeks later...

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

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


  • 3 months later...

при использовании данного мода появляются дубли Title и meta description с категорией где применяется фильтрация по производителям

 

Вот теперь думаю как избавиться от дублей

 

есть ли возможность вывести этот фильтр в категориях и подкатегориях в левую колонку?

все эти проблемы можно решить модулем.

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

  • 3 weeks later...

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

Это не совсем баг. Это же фильтр, если ты выбрал производителя, а потом жмешь на категорию, где нет товаров этого производителя, то их и не будет!

 

Вот сделал, если в категории нет товаров  - фильтр не появляеться.

 

В файле filter_by_manufacturers.xml в сроках с 122 заменить блок <!-- Manufacturers --> на этот:

                 <!-- Manufacturers -->
                 <?php if ($products) { ?>      
                       <?php if ($manufacturers) { ?>
                       <div class="manufacturers">
                            <?php if ($manufacturer_id==0) { ?>
                            <span>Все производители</span>
                            <?php } else { ?>
                            <a href="<?php echo $all_manufacturers; ?>">Все производители</a>
                            <?php } ?>
                            <?php foreach ($manufacturers as $manufacturer) { ?>
                            <?php if($manufacturer['manufacturer_id']==$manufacturer_id) { ?>
                            <span><?php echo $manufacturer['name'] ?></span>
                            <?php } else {?>
                            <a href="<?php echo $manufacturer['href'] ?>"><?php echo $manufacturer['name'] ?></a>
                            <?php }?>
                            
                            <?php } ?>
                        </div>
                        <?php } ?>                       
                       <?php } ?>
                       <!-- End of Manufacturers -->
Надіслати
Поділитися на інших сайтах


Подскажите как добавить фильтр на страницу special (акции). Вот добаляю код в filter_by_manufacturers.xml :

      <file name="catalog/controller/product/special.php">
            <operation>
                <search position="after">
                    <![CDATA[
                        $this->document->setTitle($this->language->get('heading_title'));
                    ]]>
                </search>
                <add>
                    <![CDATA[
                        //Manufacturers
                       $category_id = 0; //Пока 0
                       $this->load->model('catalog/category');	 //Считали модель, а надо ли ?
                       
                       $manufacturers = $this->model_catalog_category->getManufacturers($category_id,true);
                       $this->data['manufacturers'] = array();
                       $this->data['all_manufacturers'] = $this->url->link('product/special', 'path=' . $category_id);
                       foreach ($manufacturers as $manufacturer) {
                           $this->data['manufacturers'][] = array (
                               'manufacturer_id' => $manufacturer['manufacturer_id'],
                               'name' => $manufacturer['name'],
                               'href' => $this->url->link('product/special', 'path=' . $category_id . '&manufacturer_id=' . $manufacturer['manufacturer_id'])
                           );
                       }
                       if (isset($this->request->get['manufacturer_id'])) {
                           $manufacturer_id = $this->request->get['manufacturer_id'];
                           $this->data['manufacturer_id'] = $manufacturer_id;
                       } else {
                           $manufacturer_id = false;
                           $this->data['manufacturer_id'] = 0;
                       }
                        //---------------
                    ]]>
                </add>
            </operation>

            <operation>
                <search position="after">
                    <![CDATA[
                        $url = '';
                    ]]>
                </search>
                <add>
                    <![CDATA[    
                        //Manufacturers
                        if (isset($this->request->get['manufacturer_id'])) {
                            $url .= '&manufacturer_id=' . $this->request->get['manufacturer_id'];
                        }
                        //----------------
                    ]]>
                </add>
            </operation>
            
            <operation>
                <search position="before">
                    <![CDATA[
                        'sort'  => $sort,
                    ]]>
                </search>
                <add>
                    <![CDATA[    
                        'filter_manufacturer_id'  => $manufacturer_id,
                    ]]>
                </add>
            </operation>
        </file>
         <file name="catalog/view/theme/..ваша...тема.../template/product/special.tpl">
            <operation>
                <search position="before">
                    <![CDATA[
                        <?php if ($products) { ?>
                    ]]>
                </search>
                <add>
                    <![CDATA[
                        <!-- Manufacturers -->
                 <?php if ($products) { ?>      
                       <?php if ($manufacturers) { ?>
                       <div class="manufacturers">
                            <?php if ($manufacturer_id==0) { ?>
                            <span>Все производители</span>
                            <?php } else { ?>
                            <a href="<?php echo $all_manufacturers; ?>">Все производители</a>
                            <?php } ?>
                            <?php foreach ($manufacturers as $manufacturer) { ?>
                            <?php if($manufacturer['manufacturer_id']==$manufacturer_id) { ?>
                            <span><?php echo $manufacturer['name'] ?></span>
                            <?php } else {?>
                            <a href="<?php echo $manufacturer['href'] ?>"><?php echo $manufacturer['name'] ?></a>
                            <?php }?>
                            
                            <?php } ?>
                        </div>
                        <?php } ?>
                        <!-- End of Manufacturers -->
                       <?php } ?>
                    ]]>
                </add>
            </operation>            
        </file>

Хотел еще поменять файл catalog/model/catalog/special.php  , а такого нету !

 

Результат на странице с акциями(special) выводит всех производителей, но при нажатии на ссылку не фильтрует! Как быть?

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


  • 2 weeks later...

 

на 1.5.5.1 не пробовал, но поидее в model/catalog/category.php не хватает функции

	public function getCategoriesByParentId($category_id) {
		$category_data = array();

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

		foreach ($categories as $category) {
			$category_data[] = $category['category_id'];

			$children = $this->getCategoriesByParentId($category['category_id']);

			if ($children) {
				$category_data = array_merge($children, $category_data);
			}
		}

		return $category_data;
	}

И в правду не хватает после 13 строки вставил все работает версия 1.5.5.2 Автору спасибо !

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


  • 4 months later...
  • 2 months later...

Подскажите а как кроме названий производителя вывести еще и логотипы?

Тоже интересует решение

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


  • 2 weeks later...

 

https://opencartforum.com/index.php?app=downloads&module=display&section=screenshot&id=926

Имя файла: Фильтр по производителя в категории (vqmod)

Владелец файла: Jamb86

Файл размещен: 13 февр. 2013

Файл обновлен: 13 февр. 2013

Категория файла: Прочее

На сайте в категории появится дополнительная возможность отфильтровать по производителю.

Используется vqmod

Opencart 1.5.x

Нажмите сюда, чтобы скачать этот файл

 

Огромное спасибо за фильтр! 

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

Может у Вас уже есть такой фильтр.....и я просто не нашла?

Заранее благодарна за ответ!!!

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


  • 2 weeks later...

Спасибо за отличный модуль!

 

Немного модифицировал под себя:

- производители по алфавиту

- выводятся только если есть продукты в категории, если нет, то выводится общий список всех производителей ссылками, кликая по которым попадаем в раздел производители (у меня это главная категория)..

 

в xml легко все настроить под себя.

filter_by_manufacturers2.zip

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


  • 6 months later...

Гениально! Сам разобрался, почитав гугловскую документацию про vqmod. Кто тоже не понял, но по себе знаю, как это было важно расшифровываю, если так же скопировали все вручную, а не через vqmod сделано, то чтобы все корректно работало делать так:

кусок кода (см в xml файле)

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

                        //---------------- 

вставлять после 1,2,3 или 4го найденного $url = '';

 

Еще раз огромная благодарность Jamb68 за модуль и наводку по исправлениям в его работе!

*Мой комментарий уже не актуален*

Змінено користувачем norfnorf2
Надіслати
Поділитися на інших сайтах


 

https://opencartforum.com/index.php?app=downloads&module=display&section=screenshot&id=926

Имя файла: Фильтр по производителя в категории (vqmod)

Владелец файла: Jamb86

Файл размещен: 13 февр. 2013

Файл обновлен: 13 февр. 2013

Категория файла: Прочее

На сайте в категории появится дополнительная возможность отфильтровать по производителю.

Используется vqmod

Opencart 1.5.x

Нажмите сюда, чтобы скачать этот файл

 

Благородный сударь, я ничего не понял, установив данный модуль, у меня перестает открываться связанные с ним страницы сайта, в чём может быть причина? OpenCart 1.5.x

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


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

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

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

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

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

Вхід

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

Вхід зараз

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

Important Information

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