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

Фильтр товаров в категории 2.0 - Допилы [Поддержка]


JohnnyVega

Recommended Posts

Нужно смотреть лог vqmod... Но вообще модуль под OcStore заточен и тестируется на нём же

В логах вот такие записи

 

---------- Date: 2013-08-14 14:02:50 ~ IP : 109.252.226.30 ----------

REQUEST URI : /index.php?route=product/category&path=59_66
MOD DETAILS:
   modFile   : /public_html/vqmod/xml/filter_in-category_soor_jv_frontend.xml
   id        : Filter_in_category_Soor_JV_Frontend
   version   : 1.30
   vqmver    : 2.1.5
   author    : Soor, JohnnyVega
 
File Name    : catalog/model/catalog/product.php(1)
VQModObject::applyMod - EMPTY SEARCH CONTENT ERROR
 
File Name    : catalog/model/catalog/product.php(1)
VQModObject::applyMod - SEARCH NOT FOUND (SKIPPED): 
Надіслати
Поділитися на інших сайтах


Это значит, что vqmod-файл не может найти текст, который нужно заменить. Это может быть потому, что у вас opencart, а не ocstore, может сами файлы движка изменены, может какое-либо другое vqmod-дополнение вносит правки в эти файлы

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

нужна кнопка сбросить фильтр , может уже кто решил этот вопрос, думаю её надо сделать по принципу ссылка на страницу с категорией . Ещё заметил одну фичу , что когда выбран пункт фильтра и при этом перейти в подкатегорию , то он заходит с этим включенным пунктом фильтра. С одной стороны это круто, с другой если пользователь не отключит фильтрацию и не заметит , что она есть, то увидит только отфильтрованный товар, что не есть хорошо. Вот решить эти два вопроса и почти идельный фильтр будет

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


Сделал тупым способом кнопу сбросить. Работает по принципу обрезание строки. Тестировалось на Ocstore ver.1.5.1.4 . Подходит для обычных ссылок и seopro ( или по умолчанию) . 

<?php  
        if (mb_strrpos ($value['href'], '?filter')) {
        $urlmain = mb_substr ($value['href'],0, mb_strrpos ($value['href'], '?filter'));
        } else if (mb_strrpos ($value['href'], '&filter')) {
        $urlmain = mb_substr ($value['href'],0, mb_strrpos ($value['href'], '&filter'));
        } else {	
        $urlmain = $value['href'];
        }
        // var_dump($urlmain); ?>
		<a href="<?php echo $urlmain;?>">Сбросить</a>

Кнопка сбрасывает в категорию в которой вы находитесь. Вставлять нужно после первого foreach т.е. после тега </table> (для горизонт схемы). Сбоку вроде после </form>. Главное после foreach т.к. мы берем последнюю ссылку из пункта фильтра и режем её. Если кто заметит косяк пишите в тему. Я сам не прогер).

Да вставляем в файл view /theme/ ваша тема / template / module / filter.tpl . 

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


Модифицированное решение . Используем урл с адресной строки с помощью этой функции ( нашел на просторах инета http://avolberg.ru/decisions/php/php-tekushij-url-stranicy#hdr2_2) .Таким способом можно добавить два положение кнопки сбросить. Активное и не активное.

function request_url()
{
  $result = ''; // Пока результат пуст
  $default_port = 80; // Порт по-умолчанию
 
  // А не в защищенном-ли мы соединении?
  if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS']=='on')) {
    // В защищенном! Добавим протокол...
    $result .= 'https://';
    // ...и переназначим значение порта по-умолчанию
    $default_port = 443;
  } else {
    // Обычное соединение, обычный протокол
    $result .= 'http://';
  }
  // Имя сервера, напр. site.com или www.site.com
  $result .= $_SERVER['SERVER_NAME'];
 
  // А порт у нас по-умолчанию?
  if ($_SERVER['SERVER_PORT'] != $default_port) {
    // Если нет, то добавим порт в URL
    $result .= ':'.$_SERVER['SERVER_PORT'];
  }
  // Последняя часть запроса (путь и GET-параметры).
  $result .= $_SERVER['REQUEST_URI'];
  // Уфф, вроде получилось!
  return $result;
}
$req_url = request_url ();
	<?php if (mb_strrpos ($req_url, '?filter')) {
        $urlmain = mb_substr ($req_url ,0, mb_strrpos ($req_url, '?filter')); ?>
        <a class="active" href="<?php echo $urlmain;?>">Сбросить</a>
    <?php 
        } else if (mb_strrpos ($req_url, '&filter')) {
        $urlmain = mb_substr ($req_url,0, mb_strrpos ($req_url, '&filter')); ?>
        <a class="active" href="<?php echo $urlmain;?>">Сбросить</a>
    <?php   
        } else { ?>	
        <a href="<?php echo $req_url;?>">Сбросить</a>
       <?php } ?>

Неактивную ссылку вообще можно удалить и кнопка будет появляться только , когда фильтруется товар. Вот мож кому надо.

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


нужна кнопка сбросить фильтр , может уже кто решил этот вопрос, думаю её надо сделать по принципу ссылка на страницу с категорией . Ещё заметил одну фичу , что когда выбран пункт фильтра и при этом перейти в подкатегорию , то он заходит с этим включенным пунктом фильтра. С одной стороны это круто, с другой если пользователь не отключит фильтрацию и не заметит , что она есть, то увидит только отфильтрованный товар, что не есть хорошо. Вот решить эти два вопроса и почти идельный фильтр будет

Похоже идеальных фильтров для Opencart нет. Или хотя бы по-уму работающих. :( Уровня Яндекс.Маркет или как на Битриксе. Всё свои велосипеды придумывают.

Не надо обижаться разработчикам.

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


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

хочу уточнить, правильно ли я понял, что его можно поставить только на страницы category, а на home и default нельзя?

 

и второй вотпрос - как набивать к этому модулю критерии фильтра? сам берет из атрибутов товара, которые необходимо создать или как-то иначе?

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


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

хочу уточнить, правильно ли я понял, что его можно поставить только на страницы category, а на home и default нельзя?

 

Да, Вы правильно поняли. Модуль работает только в категориях

 

 

и второй вотпрос - как набивать к этому модулю критерии фильтра? сам берет из атрибутов товара, которые необходимо создать или как-то иначе?

Нет, атрибуты не используются. Параметры фильтра самостоятельно вводятся в админке в разделе "Каталог - Фильтр товаров"

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

В файлах стилей модуля посмотрите параметр ширину колонки. Им можно отрегулировать сколько чего на одной строке выводится

Будьте добры, ткните носом в этот параметр. :)

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


Будьте добры, ткните носом в этот параметр. :)

 

Например, вот:

.filter-item_tb label {

.........

.........

 width: 31%;

}

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

Подскажите пожалуйста. В этом фильтре каждый товар нужно включать вручную?

 

Да, для каждого товара параметры фильтра задаются отдельно

 

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

купил. нихт арбайтен (((

тема- не дефолт. перекинул из аплоада из папки дефолт в свою тему подпапки.

что не пашет - создал опции, добавил значения (всё как в магазине), а он мне кажет название фильтра и пустые чекбоксы (значения опций есть, но наличие товара с опцией - (0).

что надо сделать?

 

интрукция по настройке, конечно, была бы нелишней.

 

заодно вопросы:

- фильтровать он может только опции? или по категориям тоже? у меня есть категории мальчик/девочка, а у них опция рост. хочу чтобы можно было выбрать птичку "мальчик", а в другом поле птичку рост "86", например. такое возможно?

- при наличии подкатегорий есть ньюансы работы/настройки? например одежда->девочки->возраст 1-4 года->брюки.

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


Купил, установил по инструкции. "Notice: Undefined variable: product_data in Z:\home\mydomain.ru\www\vqmod\vqcache\vq2-catalog_model_catalog_product.php on line 536"

ocStore Версия 1.5.4.1.2

Что делать?

Сам себе помог следующим образом:

 

изменил

if( (VERSION == '1.5.4') || (VERSION == '1.5.4.1') ) { 

на 

if( (VERSION == '1.5.4') || (VERSION == '1.5.4.1') || (VERSION == '1.5.4.1.2') ) {

Верно?

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


купил. нихт арбайтен (((

тема- не дефолт. перекинул из аплоада из папки дефолт в свою тему подпапки.

что не пашет - создал опции, добавил значения (всё как в магазине), а он мне кажет название фильтра и пустые чекбоксы (значения опций есть, но наличие товара с опцией - (0).

что надо сделать?

 

интрукция по настройке, конечно, была бы нелишней.

 

заодно вопросы:

- фильтровать он может только опции? или по категориям тоже? у меня есть категории мальчик/девочка, а у них опция рост. хочу чтобы можно было выбрать птичку "мальчик", а в другом поле птичку рост "86", например. такое возможно?

- при наличии подкатегорий есть ньюансы работы/настройки? например одежда->девочки->возраст 1-4 года->брюки.

автор, ау!

как его работать заставить?

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


Сам себе помог следующим образом:

 

изменил

if( (VERSION == '1.5.4') || (VERSION == '1.5.4.1') ) { 

на 

if( (VERSION == '1.5.4') || (VERSION == '1.5.4.1') || (VERSION == '1.5.4.1.2') ) {

Верно?

 

Да, всё правильно. Этот кусок кода должен добавляться в версиях выше 1.5.3

 

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

купил. нихт арбайтен (((

тема- не дефолт. перекинул из аплоада из папки дефолт в свою тему подпапки.

что не пашет - создал опции, добавил значения (всё как в магазине), а он мне кажет название фильтра и пустые чекбоксы (значения опций есть, но наличие товара с опцией - (0).

что надо сделать?

 

Для начала указать версию движка, версию vqmod, выдаёт ли vqmod ошибки... Опции в фильтре не используются...

 

интрукция по настройке, конечно, была бы нелишней.

Читаете инструкцию, делаете устанвоку, заходите в "админка-доп-ния - модули - JV_Filter - фильтр товаров", кнопка "Создать таблицы". Там же задаёте настройки для вывода модуля.

Затем в "Каталог - Фильтр товаров. Там создаёте нужные параметры фильтра. Затем в "Каталог-товары-редактирование товара-вкладка опции фильтр". Там задаёте для конкретного товара конкретные параметры фильтра. Всё.

 

заодно вопросы:

- фильтровать он может только опции? или по категориям тоже? у меня есть категории мальчик/девочка, а у них опция рост. хочу чтобы можно было выбрать птичку "мальчик", а в другом поле птичку рост "86", например. такое возможно?

- при наличии подкатегорий есть ньюансы работы/настройки? например одежда->девочки->возраст 1-4 года->брюки.

1) Фильтровать может свои опции фильтра, не "родные" опции движка.... По категориям - нет. Покупатель сам ходит по категориям, и в зависимости от категории, настроек опций фильтра, выбора этих опций в конкретном товаре, покупателю выводится текущий вариант фильтра.... Но Вы можете, например, создать в фильтре параметр "пол" со значениями "мальчик, девочка" и уже этот параметр присваивать нужным параметрам.

 

2) Все нюансы зависят от настройки опций фильтра... Там же выбирается категория, в которой будет отображаться/работать данная опция фильтра. Установите опцию фильтра для категории магазина  "одежда" - эта опция фильтра будет отображаться в категории "одежда". Установите в категории "одежда" и в категории "девочки" - будет отображаться в обоих этих категориях...

 

В общем, экспериментируйте, выставляйте разные параметры фильтра, смотрите результат...

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

Ни кто его ещё не приручил с производителями. акциями и прочими страничками дружить??
может VQmodом каким нить его внедрять... или вручную вставлять код..
Интересно как его прикрутить к сортировке... чтоб рядом отображался, такое возможно?

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


Возможно, но позже...

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

Ещё один допил. Суть вот в чем . Если у вас система Категория ( тут весь товар из всех подкатегорий) - Подкатегория, то отмечая отображать пункт фильтра в Категории он будет отображаться и в подкатегории, но подкатегории могут быть разные, и не во всех данный пункт используется для фильтрации, т.е. он просто будет пустым , но название будет присутствовать, что есть не хорошо. Сразу скажу, что  Показывать пустые значения фильтра? - отключено.

Сделано как обычно в тупую :-) .

Добавляем строчку $sum += $products;  в controller/module/filter.php после.

$products = $this->model_catalog_product->getTotalProducts(array('filter_category_id'=>end($parts),'filter_sub_category'=>1) , str_replace('&filter=', '', $filter_params));                    
$sum += $products;

Далее в массив 'status_value'=> $sum

$this->data['category_options'][] = array(
					      'option_id' 	=> $option['option_id'],
					      'name' 		=> $option['name'],
					      'values' 		=> $values,
					      'status'  	=> $option['status'],
					      'status_value'=> $sum
					);

Далее в view/module/filter.tpl ищем такую строку <?php if ($category_option['status']) { ?> и меняем её на

<?php if ($category_option['status'] and $category_option['status_value'] != 0) { ?>

У кого-то может что-то отличаться, поэтому суть. sum - суммирование товаров относящихся к пункту фильтра. Если кол-во товаров равно нулю, то не выводить. Протестировано в различных вариациях включения пунктов фильтра ( к данному решению пришел не сразу). Если заметите, что работает что-то не так, просьба отписать. 

Впринципе можно и по-другому сделать, покапаться в админке модуля и развязать категория - подкатегория, если сделать галку категория, то она не будет связана с подкатегориями. Но мой метод круче)). Отметил одну категорию и не нужные пункты не выводятся. ;)

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


OcStore 1.5.4.1.2

VqMod 2.4.1

Шаблон ShopFurniture

 

Приобрел модуль 21.09 - проблема такая - при переходе в категорию с фильтром вся страница в иероглифах и ошибка вверху сайта PHP Notice:  Undefined variable: product_data in /var/www/vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 536

 

В чем может быть причина?

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


OcStore 1.5.4.1.2

VqMod 2.4.1

Шаблон ShopFurniture

 

Приобрел модуль 21.09 - проблема такая - при переходе в категорию с фильтром вся страница в иероглифах и ошибка вверху сайта PHP Notice:  Undefined variable: product_data in /var/www/vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 536

 

В чем может быть причина?

 

Смотрите лог vqmod.

 

https://opencartforum.com/topic/11378-filtr-tovarov-v-kategorii-20-dopily/page-17#entry189503

https://opencartforum.com/topic/11378-filtr-tovarov-v-kategorii-20-dopily/page-17#entry190450

https://opencartforum.com/topic/11378-filtr-tovarov-v-kategorii-20-dopily/page-17#entry196205

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

OcStore 1.5.4.1.2

VqMod 2.4.1

Шаблон ShopFurniture

 

Приобрел модуль 21.09 - проблема такая - при переходе в категорию с фильтром вся страница в иероглифах и ошибка вверху сайта PHP Notice:  Undefined variable: product_data in /var/www/vqmod/vqcache/vq2-catalog_model_catalog_product.php on line 536

 

В чем может быть причина?

 

Спасибо, разобрался

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


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

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

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

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

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

Вхід

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

Вхід зараз
×
×
  • Створити...

Important Information

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