dimon1974 Posted May 23, 2015 Report Share Posted May 23, 2015 (edited) Подскажите пожалуйста!Как вывести фильтр на страницы брендов. Какой файл править? Edited May 23, 2015 by dimon1974 Quote Link to post Share on other sites
Kors Posted May 23, 2015 Report Share Posted May 23, 2015 Совсем не просто, потому что существующие свойства привязываются именно к категориям.Выходит, надо выводить или все свойства или как-то помечать нужные свойства для фильтра брендов, или привязывать свойства к брендам. Затем в зависимости от выбранного способа привести в соответствие набор свойств при редактировании товара. И лишь потом уже сам вывод фильтра... Близкая разработка:http://simpla-tuning.com/products/filtr-po-svojstvam-i-tsenam-na-glavnoj-stranitse Quote Link to post Share on other sites
Kosjak76 Posted May 23, 2015 Report Share Posted May 23, 2015 На самом деле, все гораздо проще. Свойства выбираются исходя из наличия товаров с этими свойствами.ProductsView.phpстрока 70, удаляем if(!empty($category)) {И закрывающую скобку } $options_filter['category_id'] = $category->children; Меняем на if(!empty($category)) $options_filter['category_id'] = $category->children; Все должно работать Quote Link to post Share on other sites
dimon1974 Posted May 23, 2015 Author Report Share Posted May 23, 2015 На самом деле, все гораздо проще. Свойства выбираются исходя из наличия товаров с этими свойствами.ProductsView.phpстрока 70, удаляем if(!empty($category)) {И закрывающую скобку } $options_filter['category_id'] = $category->children; Меняем на if(!empty($category)) $options_filter['category_id'] = $category->children; Все должно работатьПри открытии страницы бренда открывается пустая страница. Наверное что-то не так. Quote Link to post Share on other sites
Kosjak76 Posted May 23, 2015 Report Share Posted May 23, 2015 Закрывающую скобку убрали?Включите вывод ошибок. Quote Link to post Share on other sites
dimon1974 Posted May 23, 2015 Author Report Share Posted May 23, 2015 Закрывающую скобку убрали?Включите вывод ошибок.Скобку убрал.Parse error: syntax error, unexpected T_VARIABLE, expecting T_FUNCTION in /home/мой-аккаунт/domains/мой-момен.ru/public_html/view/ProductsView.php on line 98 97. // Постраничная навигация98. $items_per_page = $this->settings->products_num; Quote Link to post Share on other sites
Kosjak76 Posted May 23, 2015 Report Share Posted May 23, 2015 Скиньте кусок кода от надписи // Свойства товаров до // Постраничная навигацияПохоже, убрали не ту скобку. Quote Link to post Share on other sites
dimon1974 Posted May 23, 2015 Author Report Share Posted May 23, 2015 // Свойства товаров $features = array(); foreach($this->features->get_features(array('category_id'=>$category->id, 'in_filter'=>1)) as $feature) { $features[$feature->id] = $feature; if(($val = strval($this->request->get($feature->id)))!='') $filter['features'][$feature->id] = $val; } $options_filter['visible'] = 1; $features_ids = array_keys($features); if(!empty($features_ids)) $options_filter['feature_id'] = $features_ids; if(!empty($category)) $options_filter['category_id'] = $category->children; if(isset($filter['features'])) $options_filter['features'] = $filter['features']; if(!empty($brand)) $options_filter['brand_id'] = $brand->id; $options = $this->features->get_options($options_filter); foreach($options as $option) { if(isset($features[$option->feature_id])) $features[$option->feature_id]->options[] = $option; } foreach($features as $i=>&$feature) { if(empty($feature->options)) unset($features[$i]); } $this->design->assign('features', $features); } // Постраничная навигация $items_per_page = $this->settings->products_num; Quote Link to post Share on other sites
Kosjak76 Posted May 23, 2015 Report Share Posted May 23, 2015 $this->design->assign('features', $features); } Вот эту скобочку надо убрать, а вы какую убрали? Quote Link to post Share on other sites
dimon1974 Posted May 23, 2015 Author Report Share Posted May 23, 2015 (edited) Без этой скобки фильтр появился, но в логе: Notice: Undefined variable: category in /home/аккаунт/domains/мой-домен.ru/public_html/view/ProductsView.php on line 61Notice: Trying to get property of non-object in /home/аккаунт/domains/мой-домен.ru/public_html/view/ProductsView.php on line 61Warning: Cannot modify header information - headers already sent by (output started at /home/domains/domains/мой-домен.ru/public_html/view/ProductsView.php:61) in /home/аккаунт/domains/мой-домен.ru/public_html/index.php on line 24 Строки:24. $brand = $this->brands->get_brand((string)$brand_url);61. foreach($this->features->get_features(array('category_id'=>$category->id, 'in_filter'=>1)) as $feature) Edited May 23, 2015 by dimon1974 Quote Link to post Share on other sites
Kosjak76 Posted May 23, 2015 Report Share Posted May 23, 2015 Да, точно'category_id'=>$category->id, надо удалить со строки 61 Quote Link to post Share on other sites
dimon1974 Posted May 23, 2015 Author Report Share Posted May 23, 2015 Да, точно'category_id'=>$category->id, надо удалить со строки 61Все получилось!Спасибо за помощь, спасибо, что откликнулись! Quote Link to post Share on other sites
KeNs Posted January 14, 2018 Report Share Posted January 14, 2018 Тут есть живые? Сделал по инструкции, всё работает. А как в этом фильтре убрать не нужные мне свойства, просто он показывает вообще все свойства из всех категорий, а нужно только пару нужных указать и всё. Надеюсь кто нибудь поможет! Quote Link to post Share on other sites
Kosjak76 Posted January 14, 2018 Report Share Posted January 14, 2018 Ну, вообще-то у свойств есть галка - использовать в фильтреЕсли она не стоит - свойство в фильтр не выводится.Это в стандарте, как у вас - никто не знает. Quote Link to post Share on other sites
KeNs Posted January 14, 2018 Report Share Posted January 14, 2018 Ну, вообще-то у свойств есть галка - использовать в фильтреЕсли она не стоит - свойство в фильтр не выводится.Это в стандарте, как у вас - никто не знает. Есть, у меня свойств этих 4, и в настройках этих свойств стоит выборочно в каких категориях магазина их отображать и как бы всё в этом плане работает. Но когда захожу на страницу "Товары со скидкой" (ради чего я и прикручивал данный способ) то у меня там показываются вообще все свойства которые есть в магазине... Я так понимаю что у меня немного другая ситуация, если просто смотреть "Все товары" то фильтр работает отлично, он по сути и должен показывать все свойства, а у меня "Товары со скидкой", как быть? Может подскажите а то я что то не могу въехать...) Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.