Фильтрация по элементам происходит сейчас так: есть свойство размер, ввожу в фильтре 4, а он мне отбирает все элементы, где присутствует цифра 4, т.е отбирает и 43 и 14. Как сделать, чтобы отбирал только то, что указал в фильтре?
30.09.2013 11:59:56
Да, попробуйте так. Только "PROPERTY_SIZE" = это Ваше свойство должно быть
А все-таки жаль: иногда над победами нашими
встают пьедесталы, которые выше побед. Булат Окуджава |
|
|
|
30.09.2013 12:01:55
|
|||
|
|
30.09.2013 12:06:12
Когда я вбиваю в фильтр такие строки 4 || 6 || 7, то выводит все эти размеры и плюс все в которых встречаются эти цифры, а вот 4 = 4 || 6 = 6 || 7 =7 уже не работает
|
|
|
|
30.09.2013 12:08:22
Попробуйте без "=" или еще "=PROPERTY_SIZE_VALUE"=>"4"
А все-таки жаль: иногда над победами нашими
встают пьедесталы, которые выше побед. Булат Окуджава |
|||
|
|
30.09.2013 12:13:49
Опять не работает, может я не туда вставляю код? Код <?$arFilter = array("=PROPERTY_SIZE_VALUE"=>"4" )?> Вставляю перед выводом каталога. Затем вбиваю значение в форму Но всё-равно выбирает все значения, где есть цифра 4 |
|||||
|
|
30.09.2013 12:21:45
У Вас свойство - строка? Если строка, тогда "_VALUE" подписывать не нужно. И попробуйте тогда просто "PROPERTY_SIZE" => "4"
И какова дальшейшая судьба $arFilter ? Отключите пока стандартный компонент фильтрации в в компоненте catalog
А все-таки жаль: иногда над победами нашими
встают пьедесталы, которые выше побед. Булат Окуджава |
|
|
|
30.09.2013 12:35:23
А если я его отключу, в каталоге автоматически должны отфильтроваться элементы с размером 4 по-идеи? Если - да, то не работает( |
|||
|
|
30.09.2013 12:41:00
Что бы работало, через стандартный фильтр, может надо в нём что-то менять?
|
|
|
|
30.09.2013 13:36:59
Мне помогло:
То есть в строке "=".$arProp["CODE"] я ставил "=",а в стандартном стоит "?"
А все-таки жаль: иногда над победами нашими
встают пьедесталы, которые выше побед. Булат Окуджава |
|||
|
|
30.09.2013 13:44:39
|
|||||
|
|
30.09.2013 13:53:35
Нужно скопировать стандартный компонент /bitrix/components/bitrix/catalog.filter, например, сюда /bitrix/components/custom/catalog.filter
в файле component.php как раз это все меняется Потом в шаблоне компонента catalog нужно будет везде, где есть вызов фильта меменять с bitrix:catalog.filter на custom:catalog.filter Потом создать в шаблоне catalog папку custom, в ней .default и в этйо папке шаблон для кастомизированного компонента использовать Но все это делать нужно осознавая, что теряется возможность получать обновления. Поэтому можете попробовать сначала в шаблоне компонента catalog после вызова bitrix:catalog.filter перехватить сформировавшийся массив с фильтром и в нем уже вручную поменять "?PROPERTY_SIZE" на "=PROPERTY_SIZE". В массиве GLOBALS должен фильтр храниться
А все-таки жаль: иногда над победами нашими
встают пьедесталы, которые выше побед. Булат Окуджава |
|
|
|
30.09.2013 14:04:28
|
|||
|
|
30.09.2013 14:51:34
$GLOBALS['arrFilter'] - если тут хранится фильтр, то нужно в нем найти уже элемент массива, отвечающий за фильтрацию по свойству PROPERTY_SIZE. У него должен символ "?" стоять перед "PROPERTY_SIZE" и Вам нужно будет этот символ "?" заменить на "=". Но ключ элемента массива поменять не получится, поэтому Вам нужно будет скопировать значение этого элемента, удалить элемент и добавить "=PROPERTY_SIZE" равный сохраненному значению.
Должно выглядеть как-то так, то сработает ли, сказать не смогу:
еще посмотрите сначала, чему равен массив var_dump($GLOBALS['arrFilter']); , что там в нем хранится.
А все-таки жаль: иногда над победами нашими
встают пьедесталы, которые выше побед. Булат Окуджава |
|||
|
|
30.09.2013 15:38:19
Я не пойму, почему у меня не работает фильтр стандартными способами. Вот код section.php
|
|||||
|
|
30.09.2013 16:03:14
$arParams["FILTER_NAME"] - тут что? должно быть arrFilter.
И у компонентов фильтра и списка элементов раздела парамер FILTER_NAME должен принимать одинаковое значение. Лучше всего его брать и параметров компонента catalog, $arParams["FILTER_NAME"] - вот так получить, и соответственно этот параметр задать компоненту.
А все-таки жаль: иногда над победами нашими
встают пьедесталы, которые выше побед. Булат Окуджава |
|
|
|
30.09.2013 16:07:17
|
|||
|
|
30.09.2013 16:36:21
можно, но это не правильно, хотя с другой стороны, нагляднее.
А все-таки жаль: иногда над победами нашими
встают пьедесталы, которые выше побед. Булат Окуджава |
|
|
|
30.09.2013 16:45:49
|
|||
|
|
30.09.2013 17:00:21
Попробуйте стандартный компонент catalog поставить, на какую-нибудь тестовую страницу и его настроить.
А все-таки жаль: иногда над победами нашими
встают пьедесталы, которые выше побед. Булат Окуджава |
|
|
|
30.09.2013 21:02:14
А я тут подумал, у меня же свойства хранятся в торговых предложениях, может из-за этого не получается?
|
|
|
|
30.09.2013 22:50:30
оооо нашёл решение <?$GLOBALS['arrFilter']['OFFERS'] = array('PROPERTY_SIZE' => 4) ?>
|
|
|
|
30.09.2013 22:54:44
А как теперь придумать, чтобы нажал на ссылку и перекинуло на страницу с отфильтрованными элементами?
|
||||
|
|
|||