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
Отключайте проверку лицензий как можно скорее!
— Есть два типа людей: Кто еще не делает бекапы и кто уже делает бекапы.


Тема закрыта








