Перейти к содержимому


Фотография

FilterPro Mega

filterpro фильтр filter

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 1514

#1 freelancer

freelancer

  • OC Team
  • PipPipPip
  • 9 863 сообщений
1 401
Очень хороший

Отправлено 23 Январь 2013 - 01:17

Название: FilterPro Mega

Добавил: freelancer

Добавлен: 23 янв. 2013

Категория: Модули

 

файл объединен с http://opencartforum...096-filter-pro/


  • 7

#2 freelancer

freelancer

  • OC Team
  • PipPipPip
  • 9 863 сообщений
1 401
Очень хороший

Отправлено 23 Январь 2013 - 01:33

как убрать подсчет кол-ва в скобках?
удалить закоментить строчки в файле
catalog\view\javascript\filterpro.min.js


//для атрибутов
$('[at_v_t="' + at_v_i_e + '"]').text($('[at_v_t="' + at_v_i_e + '"]').attr('data-value') + " (" + atts[at_v_i] + ")");
$('[at_v_t="' + at_v_i_e + '"]').text($('[at_v_t="' + at_v_i_e + '"]').attr('data-value'));


// для производителей
$('label[for="manufacturer_' + l[1] + '"]').text($("#m_" + l[1]).val());
$('label[for="manufacturer_' + k.id + '"]').text($("#m_" + k.id).val() + " (" + k.t + ")")

//для опций
$('label[for="option_value_' + l[1] + '"]').text($("#o_" + l[1]).val());
$('label[for="option_value_' + k.id + '"]').text($("#o_" + k.id).val() + " (" + k.t + ")")
 

для категорий
в файле
catalog\controller\module\filterpro.php
после

            if($filterpro_setting['display_categories'] != 'none') {
                $this->data['categories'] = $this->model_module_filterpro->getSubCategories($data);
                $this->data['expanded_categories'] = isset($filterpro_setting['expanded_categories']) ? 1 : 0;
            }

добавить

            foreach($this->data['categories'] as $i => $category){
                $this->data['categories'][$i]['name'] = substr($category['name'], 0, strpos($category['name'], '('));
            }

после

        $totals_categories = $this->model_module_filterpro->getTotalCategories($data, $category_id);

добавить

        foreach($totals_categories as $i => $category){
            $totals_categories[$i]['name'] = substr($category['name'], 0, strpos($category['name'], ' ('));
        }

как убрать серую маску при фильтрации?
удалить закоментить строчки в файле
catalog\view\javascript\filterpro.min.js


$(cont).mask();
$(".filterpro").mask();

как подружить фильтр с модулем product display settings?
загрузить файл из архива
Прикрепленный файл  product-display-settings.zip   3,2К   665 Количество загрузок:
 
перестают работать стикеры http://opencartforum...для-товаров/ .
что делать?
всё очень просто. нужно добавить код вызова стикеров в метод view(); перед последней скобкой
catalog/view/theme/ваша_тема/template/product.category.tpl
 


$.cookie('display', 'grid');
    }
getAStickers();
}

view = $.cookie('display');

 
при сохранении фильтров в админке не все поля сохраняются, например методы фильтрации или расположение фильтра на схемах
либо в логах ошибки вида
Notice: Undefined index: attr_group in .../catalog/controller/module/filterpro.php on line 274
Notice: Undefined index: filterpro_container
 
1. нужно указать параметр php_value max_input_vars 3000(или более) в файле .htaccess
2. выполнить скрипт в mysql
ALTER TABLE `oc_setting` CHANGE `value` `value` LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
где oc_ ваш префикс, можно посмотреть в файле config

define('DB_PREFIX', 'oc_');

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


проблема действительно решается через схемы. как например route=product/manufacturer для списка производителей, а route=product/manufacturer/product для товаров производителя (начиная с версии 1.5.4 product/manufacturer/info), но до версии OpenCart 1.5.5 более общая схема (более короткая) перекрывает дочерние.
что бы исправить этот момент нужно в  файле 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");
 
ну а в админке создать схему производителей с route = product/manufacturer/product для товаров производителя (начиная с версии 1.5.4 product/manufacturer/info) и добавить фильтр на эту схему


как сделать по-умолчанию сортировку товаров в каталоге по дате добавления?
способ хорошо описан тут
 
проблему хорошо описывает скрин ниже.
a16de6433666.png
тут пользователь неверно заполнит атрибуты, как правильно можно увидеть на моём демо
 
не отображается слайдер по цене, либо в полях фильтра по цене -1, либо не применились стили фильтра
скорее всего проблема в том, что автор шаблона выпилил из него код загрузки сторонних скриптов, стилей, потому нужно их вернуть
если взять дефолтный шаблон это код
для стилей


<?php foreach ($styles as $style) { ?>
<link rel="<?php echo $style['rel']; ?>" type="text/css" href="<?php echo $style['href']; ?>" media="<?php echo $style['media']; ?>" />
<?php } ?>

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

<link rel="stylesheet" type="text/css" href="catalog/view/theme/default/stylesheet/stylesheet.css" />

для скриптов

<?php foreach ($scripts as $script) { ?>
<script type="text/javascript" src="<?php echo $script; ?>"></script>
<?php } ?>

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

<script type="text/javascript" src="catalog/view/javascript/common.js"></script>

как отсортировать значения цифровых атрибутов в фильтре?
 
в файле catalog/controller/modulefilterpro.php строка 243(примерно)
добавить зеленый код после


$this->data['attributes'] = $this->model_module_filterpro->getAttributes($data);

        foreach($this->data['attributes'] as $attribute_group_id => $attribute_group) {
                foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) {
                    natsort($this->data['attributes'][$attribute_group_id]['attribute_values'][$attribute_id]['values']);
                }
            }

 
как сортировать не числовые атрибуты?
для версии 2.5 https://opencartforu...r-pro/?p=371032
 
для версии 2.4.4.1 ниже
в файле
catalog\controller\module\filterpro.php добавить выделенное зеленым, где 14 - id атрибута
 
            $this->data['attributes'] = $this->model_module_filterpro->getAttributes($data);
 
            $multi_sort = array(14 => array("S" => 3, "M" => 2, "XL" => 1, "XXL" => 4));
            foreach($this->data['attributes'] as $j => $attribute_group) {
                foreach($attribute_group['attribute_values'] as $attribute_id => $attribute) {
                    if(!isset($filterpro_setting['display_attribute_' . $attribute_id])) {
                        $filterpro_setting['display_attribute_' . $attribute_id] = 'none';
                    } else{

                        if(in_array($attribute_id, array_keys($multi_sort))) {
                            $values = array_flip($this->data['attributes'][$j]['attribute_values'][$attribute_id]['values']);
                            $sort_order = array_intersect_key($multi_sort[$attribute_id], $values);
                            $ssort = array();
                            foreach($this->data['attributes'][$j]['attribute_values'][$attribute_id]['values'] as $i => $value){
                                if (!in_array($value, array_keys($sort_order))) {
                                    $ssort[$i]= (int)$value;
                                } else {
                                    $ssort[$i]=$sort_order[$value];
                                }
                            }
                            array_multisort($ssort, SORT_ASC, $this->data['attributes'][$j]['attribute_values'][$attribute_id]['values']);
                        }
                    }

 
как отключить фильтр в определенных категориях?
в файле
catalog/controller/module/filterpro.php (строка примерно 176)
после кода

            if(isset($this->request->get['path'])) {
                $this->data['path'] = $this->request->get['path'];
                $parts = explode('_', (string)$this->request->get['path']);
                $category_id = array_pop($parts);
            }

добавить, где 23, 45 - id'шники категорий через запятую

            if (in_array($category_id, array(23, 45))) {
                return;
            }

как сделать фильтр по кнопке?
в файле
catalog/view/javascript/filterpro.min.js замените


$("#filterpro .filtered").live("change", (function () {
    iF();
}));

на

$("#filterpro .filtered").live("change", (function () {
    return false;
}));

в шаблоне в любом удобном месте добавьте код (текст кнопки и стили можно задать какие угодно):

<a onclick="iF()">Применить</a>

по клику на эту кнопку сработает фильтр
 
как скрывать неактивные атрибуты(checkbox)
catalog/view/javascript/filterpro.min.js
 

if (atts[at_v_i]) { 
     $('[at_v_t="' + at_v_i_e + '"]').text($('[at_v_t="' + at_v_i_e + '"]').attr('data-value') + " (" + atts[at_v_i] + ")"); 
     $(v).removeAttr("disabled"); 
     $(v).parent().parent().show();
} else { 
    $('[at_v_t="' + at_v_i_e + '"]').text($('[at_v_t="' + at_v_i_e + '"]').attr('data-value')); 
    $(v).attr("disabled", "disabled"); 
    $(v).parent().parent().hide();
    $(v).removeAttr('checked'); 
    $(v).removeAttr(':selected'); 
}

 
как в слайдере атрибутов вывести дробные числа
catalog\controller\module\filterpro.php
код

$this->data['attributes'][$j]['attribute_values'][$attribute_id]['suffix'] = preg_replace("/^[0-9]*/", '', $first);

$values = array_map('intVal', $values);

замените на

$this->data['attributes'][$j]['attribute_values'][$attribute_id]['suffix'] = preg_replace("/^[0-9]*(\\.[0-9]*)?/", '', $first);

$values = array_map('floatVal', $values);

интеграция фильтра с модулем серий Product Series


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

 

интеграция с модулем "Текстовый блок с атрибутами"
 

https://opencartforu...утами/?p=209521


Сообщение отредактировал freelancer: 02 Сентябрь 2015 - 10:38

  • 4

#3 evex

evex

    Пользователь

  • Пользователи
  • PipPip
  • 87 сообщений
2
Обычный
  • ГородКиев

Отправлено 23 Январь 2013 - 01:45

1-й :)
  • 0

#4 Yoda

Yoda

    Pro

  • Пользователи
  • PipPipPip
  • 962 сообщений
287
Очень хороший

Отправлено 23 Январь 2013 - 01:47

Ни копейки! Ни копейки за подобное попрошайничество. Я бы не рекомендовал давать!
  • 4

#5 milus

milus

    Настройка, установка модулей, верстка

  • Пользователи
  • PipPipPip
  • 631 сообщений
139
Очень хороший
  • ГородДонецк, Украина

Отправлено 23 Январь 2013 - 01:47

нужна возможность сортировки по атрибутам, судя по тому как ты отписывался на opencart.com в самом начале своих продаж, то не так уж и сложно, или хотя бы добавь мануал какие строки в каких соответствующих таблицах добавить, ну и если честно сделать цвет - цветными квадратиками, но этож говно вопрос согласись.
  • 2

#6 milus

milus

    Настройка, установка модулей, верстка

  • Пользователи
  • PipPipPip
  • 631 сообщений
139
Очень хороший
  • ГородДонецк, Украина

Отправлено 23 Январь 2013 - 01:49

*
Популярное сообщение!

Ни копейки! Ни копейки за подобное попрошайничество. Я бы не рекомендовал давать!

я так понимаю вы это сделаете для русского сообщества бесплатно? Тогда я с вами. :ph34r:
Ужас, я представляю только какие у вас галимые, не функциональные и убыточные магазины, или же какое дерьмо вы делаете своим клиентам - если 120р. это цена, которая подрывает ваш бюджет.
  • 10

#7 Yoda

Yoda

    Pro

  • Пользователи
  • PipPipPip
  • 962 сообщений
287
Очень хороший

Отправлено 23 Январь 2013 - 02:07

Магазины у меня и правда дерьмо, до розетки еще не дорос. И вино старое, и сыр с плесенью. Спасибо за поддержку.
А касательно жлобства. То я просто против попрошайства за кота в мешке.

По сравнению с фильтром Soorа поделка фрилансера - любительская писанина. И продается видно плохо.

Вот человек и решил деньжат подзаработать!

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

А если не боится, сделает вещь и заработает на ней по полной.

P.S. Вот сижу и в толк не могу взять, какая связь между моим отношением к попрошайкам и моими магазинами? Видно Донецк покращення затронуло сильно и крепко проникло в умы граждан.
  • 1

#8 milus

milus

    Настройка, установка модулей, верстка

  • Пользователи
  • PipPipPip
  • 631 сообщений
139
Очень хороший
  • ГородДонецк, Украина

Отправлено 23 Январь 2013 - 02:46

По поводу фильтра Soora не согласен: была бы настолько плоха не продавалась
По поводу продажи согласен: делается дополнение пусть и за отдельную плату - если оно хорошо и качественно, люди и сами его купят без каких либо предзборов и т.д. По логике надо было создать тему с голосованием: А что вы хотите? а не А что я могу?
По поводу покращення: ну что вам сказать, недавно смотрел ТСН какая-то бабушка из пригорода Киева рассказывала какой у них плохой мост через реку, и что скоро ему прийдет пи*да, а вторая ей вторит: вот иду я утром а там человек 100 молодиков його разшатують, пид***сы!. Йоб. ну так они то откуда? из Донецка или Львова приехали? Ну это так к слову.
  • 1

#9 snastik

snastik

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 3 869 сообщений
601
Очень хороший
  • ГородKiev

Отправлено 23 Январь 2013 - 03:05

дямс :-) интересно скороли начнут собирать предоплату за то чтобы разрушить мост ?
а если по сути то очень на бред похоже продам то что обещал давать бесплатно :-) по идее же все покупатели модуля должны получать обновления бесплатно ? ну а если разработчик считает их глобальными то он может поднять цену после обновления а тут получается и обновления нет и денег дайте....
я бы точно не давал лучше уж скинуться на то чтобы разрушили мост :-)
  • 3

#10 RGB

RGB

    Продающий шаблон moneymaker2.com

  • Пользователи
  • PipPipPip
  • 4 223 сообщений
726
Очень хороший

Отправлено 23 Январь 2013 - 03:09

как решит сообщество

Логично, что все всё хотят как можно быстрее?
Интересует вот что - как будет работать пересчет и скрытие ненужных атрибутов фильтра на категориях с 1500-2000 товаров (использоваться будут только фильтр по цене, производителю и одному атрибуту - тип товара)? Ведь как я понимаю, от этой функции фильтр не станет быстрее и рискует скатиться до неподъемности фильтра soor'а, который на таких количествах работает очень задумчиво.
  • 0

#11 milus

milus

    Настройка, установка модулей, верстка

  • Пользователи
  • PipPipPip
  • 631 сообщений
139
Очень хороший
  • ГородДонецк, Украина

Отправлено 23 Январь 2013 - 03:15

ну я думаю все понимают, что обновления вещь неопределенная. Меня как бы заинтересовала "фильтрация по категориям", Ну и я думаю что все-таки есть обновление и есть дополнение. Я одним из первых купил его фильтр и честно говоря вся возня основывалась на атрибутах и опциях, согласитесь, что категории не много другая тема, поэтому вряд ли это можно назвать обновлением.
  • 0

#12 Yoda

Yoda

    Pro

  • Пользователи
  • PipPipPip
  • 962 сообщений
287
Очень хороший

Отправлено 23 Январь 2013 - 03:19

Интересует вот что - как будет работать пересчет и скрытие ненужных атрибутов фильтра на категориях с 1500-2000 товаров

Не думаю что это лечится каким то образом программно. А в ситуации со множественными выборками тем более. В ситуации с отсутсвием диапазона цен, это дело еще как то можно покешировать, а если цены.. То тут вас спасет только быстрый сервант. Год назад даже розетка при сложной выборке в больших категориях вешалась бедняжка и не дышала.
  • 0

#13 Yoda

Yoda

    Pro

  • Пользователи
  • PipPipPip
  • 962 сообщений
287
Очень хороший

Отправлено 23 Январь 2013 - 03:23

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

Атрибуты и опции спасают на начальном этапе. На самом деле у фильтра должен быть кроме этого свой справочник, чтобы была возможность задавать шаги фильтрации параметров.

Например вы торгуете елками.. И у вас они должны фильтроваться по высоте...
как вы это к опциям или атрибутам всунете ? У вас что на сайте будет отображаться в карточке товара еще доп параметр высота (1000-1200мм) ?.

В фильтре должна быть возможно создавать градации диапазонов. Тогда это фильтр.
  • -1

#14 RGB

RGB

    Продающий шаблон moneymaker2.com

  • Пользователи
  • PipPipPip
  • 4 223 сообщений
726
Очень хороший

Отправлено 23 Январь 2013 - 03:24

Не думаю что это лечится каким то образом программно. А в ситуации со множественными выборками тем более. В ситуации с отсутсвием диапазона цен, это дело еще как то можно покешировать, а если цены.. То тут вас спасет только быстрый сервант. Год назад даже розетка при сложной выборке в больших категориях вешалась бедняжка и не дышала.

Теоретически это дело можно решить разбивкой на кучку маленьких категорий по паре сотен товаров, но не хочется усложнять и без того непростую структуру магазина. Ну и наверное если отключить фильтр по ценам, то кеширование, которое вроде и так есть в filterpro, должно спасать.
  • 1

#15 Yoda

Yoda

    Pro

  • Пользователи
  • PipPipPip
  • 962 сообщений
287
Очень хороший

Отправлено 23 Январь 2013 - 03:33

Извините за офтоп, но по поводу больших категорий. Я недавно всерьез запилился в анализ траффика по проектам. И обнаружил что когда у меня в категориях было 20 товаров на странице, то на вторую страницу уже шло всего 20 процентов посетителей, и это по хитовым категориям.. После этого я экстренно впилил лазилоад и вывалил в категориях лимит в 200 товаров на страницу. В итоге просмотры товаров, которые были после 20го резко выросли. Да и в принципе маленькие категории существенно дают дышать движку.
  • 1

#16 cmd

cmd

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 1 392 сообщений
254
Очень хороший
  • ГородХарьков

Отправлено 23 Январь 2013 - 04:05

Лично мне нафиг не надо, но купил т.к. краудфаундинг надо поощрять. А какой тип лицензии будет?
  • 0
Делать за Вас ничего не буду. Помогу только советом.

#17 cmd

cmd

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 1 392 сообщений
254
Очень хороший
  • ГородХарьков

Отправлено 23 Январь 2013 - 04:39

Saloyablukae,

freelancer со всей очевидностью уже сделал большой вклад в развитие русского OpenCart комьюнити как непосредственно, выкладывая бесплатные модули и помогая людям на форуме, так и опосредованно, привлекая своей активностью других опытных разработчиков. Если бы на форуме не было freelancer и ещё 4-5 человек, то я бы, например, OpenCart не интересовался и работал бы больше с magento и с расширениями под modx. Если бы их не было, то было бы меньше документации и инфы -> было бы меньше сайтов на OpenCart -> было бы меньше предложений "коробочных" решений -> большинство фич заказывались бы индивидуально и стоили дороже раз в 10. В общем, Вы должны быть благодарны всему активному OpenCart комьюнити уже за то, что они есть и поддерживают актуальность проекта.

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

P.S. По какой-то странной причине у меня при покупке выписалось сразу 2 счета. Если freelancer'у на счет поступит двойная сумма - я совершенно не расстроюсь.

UPD: А Вы, уж простите, ведете себя как жертва яппи-философии.
  • 3
Делать за Вас ничего не буду. Помогу только советом.

#18 Yoda

Yoda

    Pro

  • Пользователи
  • PipPipPip
  • 962 сообщений
287
Очень хороший

Отправлено 23 Январь 2013 - 04:56

Если у бабушки был бы, она бы была дедушкой ИМХО. С фрилансером без фрилансера форум был и будет, не аргумент! Я подозреваю что вклад Есвика и Динокса будет на порядок поболе.

Уважаемый, вы уж меня простите, но мы с группой товарищей наблюдаем данного персонажа уже приличное количество времени... В свое время эта персона бегала в личку, цепляясь за любые предложения о работе и попытках урвать где только можно и нельзя, на сегодня он в глазах местной публики, по парадоксальной, причине превратился в эдакого полубога, очень делового и занятого.
К сожалению мне регулярно приходится сталкиваться с его поделками, и его код по сравнению с тем же Soorом как был так и остался на уровне выпускника академии ШАГ.

Про магенто опенкарт и коммунити, вот тока не надо.. Опенкарт - это извините бюджетное решение. И если у вас нету денежек на аренду сервантика, и вы боитесь сложностей магенты, то это истинные причины, почему вы на пилити ОК, а никак не коммьюнити.

И почему я должен что-то сделать или не сделать чтобы озвучивать собственное мнение. Форум - это площадка для дискуссий. В высказываниях я никого не оскорбляю и не нарушаю правил форума. Ваши выпады выглядят как дешевые попытки подлизнуться что ли к топикстартеру. Так бросте, юноша, есть более разумные способы утвердится в глазах окружающих.
  • -1

#19 cmd

cmd

    Продвинутый пользователь

  • Пользователи
  • PipPipPip
  • 1 392 сообщений
254
Очень хороший
  • ГородХарьков

Отправлено 23 Январь 2013 - 05:10

Никакого обожествления. Я просто вижу внушающий список раздач с пометкой "Free", читаю форум.

И ещё хочу добавить вот что: нужна определенная смелость, что выходить с инициативами краудфаундинга. Сама по себе практика краундфаундинга полезна и её был бы неплохо перенимать в рунете, а не называть "попрошайничеством". Кстати, называть работу фрилансера (существительное) попрошайничеством - это некрасиво с Вашей стороны хоть на форуме хоть не на форуме. Вы удивитесь как ломятся в личку профессионалы на freelancer.com и oDesk.
  • 2
Делать за Вас ничего не буду. Помогу только советом.

#20 Yoda

Yoda

    Pro

  • Пользователи
  • PipPipPip
  • 962 сообщений
287
Очень хороший

Отправлено 23 Январь 2013 - 05:20

Говорят за морем кур доят. Мне все равно что происходит на одеске. И будьте любезны, не передергивайте понятия, работа - это работа, а попрошайничество - это попрошайничество.
Пойдите посмотрите на симплу (быстрое оформление заказа которое), это же вещь! Нужная вещь! И на количество продаж. И на фильтропро. И подумайте стоило ли вам писать эти тексты, дабы показать что вы в тренде и знаете слово краудфаундинг. Кстати очень рад за вас, что вы его знаете. Богатым будете!
  • 3





Темы с аналогичным тегами filterpro, фильтр, filter

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных