RDG, первоначальная проверка на данный хак(1 и 2 вариант) пока результатов не дала. Очень много файлов нужно изменять. Отписался Денису, возможно он что то по советует.

Фильтр наоборот
#12
Отправлено 16 December 2015 - 11:00
Можно рискнуть сделать такой хак
В файле media\zoo\applications\jbuniversal\framework\helpers\jbfilterprops.php
происходит рендеринг
Делаем вот такие вещи
- добавляем в генерацию ссылки новый параметр
- выводим ссылку

foreach ($propsValues as $propsValue) { $class = ''; if ($this->_isActive($identifier, $propsValue['value'])) { $link = $jbrouter->filter($identifier, $propsValue['value'], $params['moduleParams'], 2); $class = ' class="active"'; } else { $link = $jbrouter->filter($identifier, $propsValue['value'], $params['moduleParams'], ($isDepend ? 1 : 0)); $linkExclude = $jbrouter->filter($identifier, $propsValue['value'], $params['moduleParams'], ($isDepend ? 1 : 0), true); } // render html list item $html[] = '<li' . $class . '><a href="' . $link . '" title="' . $this->_escape($propsValue['value']) . '" rel="nofollow"><span>' . $this->_escape($propsValue['value']) . ' ' . (($showCount) ? '<span class="element-count">(' . $propsValue['count'] . ')</span>' : '') . '</span></a>' . ($class ? '': '<a rel="nofollow" href="' . $linkExclude . '">Исключ.</a>') . ($class ? '<a rel="nofollow" href="' . $link . '" class="cancel"> </a>' : '') . '</li>'; }Далее нужно новый параметр использовать в генерации ссылки

и обработать в фильтре, в файле
media\zoo\applications\jbuniversal\framework\models\jbmodel.element.php

if ($this->app->jbrequest->get('filter_exclude') == 1) { $where = 'NOT (' . $where . ')'; }Использовать код для точного (_getWhereExact) и не точного поиска (_getWhereLike)
Я не уверен что это полностью рабочий метод.
Но мои пару тестов сработали.
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
#13
Отправлено 16 December 2015 - 11:07
А если у меня чекбоксы характериктик товара выводятся? Обычный Jbzoo Search?
#14
Отправлено 16 December 2015 - 11:10
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.
#15
Отправлено 16 December 2015 - 13:38
Ничё не понял((
То есть будет работать или так или так?
А если одновременно надо эти решения?
#16
Отправлено 17 December 2015 - 07:02
Модель (класс из файла jbmodel.element.php), которая отвечает за поиск одна и та же в обоих случаях.То есть будет работать или так или так?
Но так как фильтры разные (по ссылкам или формой) то дополнительную переменную filter_exclude нужно добавлять в разных местах.
Если речь идет о модуле, который выводит ссылки, то менять jbrouter.php
Если форма, то нужно добавить filter_exclude=1 через скрытое поле в форму
<input type="hidden" name="filter_exclude" value="1">Например, в шаблон
modules\mod_jbzoo_search\tmpl\<шаблон>.php
или сюда как ключ значение
\modules\mod_jbzoo_search\tmpl\_hidden.php
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.