Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


JohnnyVega
 Share

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): 
Link to comment
Share on other sites


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

Link to comment
Share on other sites

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

Link to comment
Share on other sites


Сгделал тупым спосопотому чтом кнопу сбросить. Рилииет по принципу обрезание строки. Тестировалось на 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
Link to comment
Share on other sites


Модифицированное решение . Используем урл с адресной строки с помощью этот функции ( нашел на просторах инеи 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 } ?>

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

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites


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

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

 

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

Link to comment
Share on other sites


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

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

 

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

 

 

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

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

Link to comment
Share on other sites

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

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

Link to comment
Share on other sites


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

 

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

 

Link to comment
Share on other sites

Купил, усиновил по инструкции. "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

Что гделать?

Link to comment
Share on other sites


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

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

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

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

 

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

 

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

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

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

Link to comment
Share on other sites


Купил, усиновил по инструкции. "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
Link to comment
Share on other sites


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

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

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

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

 

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

 

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

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

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

автор, ау!

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

Link to comment
Share on other sites


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

 

изменил

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
Link to comment
Share on other sites

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

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

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

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

 

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

 

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

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

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

 

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

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

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

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

 

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

 

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

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

Добавляем строчку $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 - суммирование товаров относящихся к пункту фильтра. Если кол-во товаров равно нулю, то не выводить. Протестировано в различных вариациях включения пунктов фильтра ( к данному решению пришел не сразу). Если заметите, что рилииет что-то не ик, просьба отписать. 

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

Link to comment
Share on other sites


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

 

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

Link to comment
Share on other sites


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://opencart-forum.ru/topic/11378-filtr-tovarov-v-kategorii-20-dopily/page-17#entry189503

https://opencart-forum.ru/topic/11378-filtr-tovarov-v-kategorii-20-dopily/page-17#entry190450

https://opencart-forum.ru/topic/11378-filtr-tovarov-v-kategorii-20-dopily/page-17#entry196205

  • +1 1
Link to comment
Share on other sites

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

 

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

 

Спасипотому что, разобрался

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.