kiv Опубликовано 5 сентября, 2014 Жалоба Поделиться Опубликовано 5 сентября, 2014 Столкнулся с такой ошибкой, появилась необходимость в фильтре с множественным выбором. На форуме есть тема как он делается, суть в том что из переменных делаем массивы. Но сейчас что-то не выходит, пробовал даже на демо результат посмотреть.вот например http://demo.simplacms.ru/catalog/mobilnye-telefony?4=Android+2.2 тут все будет работать хорошо мы найдем телефоны с этим андроидом, но если же мы добавим квадратные скобки пример:http://demo.simplacms.ru/catalog/mobilnye-telefony?4[]=Android+2.2 то уже не будет ничего работать и искать. Понятно что на демо я не залезу в API и не подправлю там запросы на value in(?@) но суть не в этом, даже если подправлю то работать не будет, т.к.в последней ссылке $_GET['4'] теперь вернет 'array' и больше ничего полезного, сколько ни крутил результата не получил, кто может что подсказать, думаю не один я столкнулся с проблемой Цитата Ссылка на сообщение Поделиться на другие сайты
Djep Опубликовано 5 сентября, 2014 Жалоба Поделиться Опубликовано 5 сентября, 2014 Столкнулся с такой ошибкой, появилась необходимость в фильтре с множественным выбором. На форуме есть тема как он делается, суть в том что из переменных делаем массивы. Но сейчас что-то не выходит, пробовал даже на демо результат посмотреть.вот например http://demo.simplacms.ru/catalog/mobilnye-telefony?4=Android+2.2 тут все будет работать хорошо мы найдем телефоны с этим андроидом, но если же мы добавим квадратные скобки пример:http://demo.simplacms.ru/catalog/mobilnye-telefony?4[]=Android+2.2 то уже не будет ничего работать и искать. Понятно что на демо я не залезу в API и не подправлю там запросы на value in(?@) но суть не в этом, даже если подправлю то работать не будет, т.к.в последней ссылке $_GET['4'] теперь вернет 'array' и больше ничего полезного, сколько ни крутил результата не получил, кто может что подсказать, думаю не один я столкнулся с проблемойЕсли столкнулись с ошибкой, после прочтения топов на форуме и последущего внесения изменений в дефолтную Simpla, то подскажите где, и для какой версии Simpla, делали изменения.Основной вопрос: кто, как и при каких ситуациях может ещё, кроме Вас "добавить квадратные скобки" перед =Android+2.2 Цитата Ссылка на сообщение Поделиться на другие сайты
kiv Опубликовано 5 сентября, 2014 Автор Жалоба Поделиться Опубликовано 5 сентября, 2014 Уточняю, вот тема на форуме про фильтр http://forum.simplacms.ru/topic/1335-%D0%BC%D0%BD%D0%BE%D0%B6%D0%B5%D1%81%D1%82%D0%B2%D0%B5%D0%BD%D0%BD%D0%BE%D0%B5-%D0%B7%D0%BD%D0%B0%D1%87%D0%B5%D0%BD%D0%B8%D0%B5-%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80%D0%B0/На версиях от 2.0 до 2.2 все работало отлично, но на 2.3 уже не получилось добиться такого же результата, (проверял на абсолютно дефолтной демо версии 2.3.6)Не исключаю что проблема может быть и в человеческом факторе, но все уже проверил десятки раз. Может чего то не понимаю поэтому и прошу помощи.Вот инструкция взятая из топа вышеФайл ProductsView.phpПосле 72 строки вставляем - $filter['features'] = array();После 102 строки вставляем - $this->design->assign('filter_features', $filter['features']);Файл Products.phpОбновляем строку 101 - value in (?@)Обновляем строку 184 - value in (?@)Файл Features.phpОбновляем строку 172 - value in (?@)Плюс правим шаблон на такие чекбоксы<input type="checkbox" name="{$f->id}[]" {if $filter_features.{$f->id} && in_array($o->value,$filter_features.{$f->id})}checked="checked"{/if} value="{$o->value|escape}" /> Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 6 сентября, 2014 Жалоба Поделиться Опубликовано 6 сентября, 2014 Попробуйте в view/ProductsView.php заменить if(($val = strval($this->request->get($feature->id)))!='')на if(($val = $this->request->get($feature->id))!='') Цитата Ссылка на сообщение Поделиться на другие сайты
kiv Опубликовано 6 сентября, 2014 Автор Жалоба Поделиться Опубликовано 6 сентября, 2014 Попробуйте в view/ProductsView.php заменить if(($val = strval($this->request->get($feature->id)))!='')на if(($val = $this->request->get($feature->id))!='') Заменял и так и на if(($val = $_GET['$feature->id'])!='') для проверки, пробовал как на локали так и на сервере Цитата Ссылка на сообщение Поделиться на другие сайты
kiv Опубликовано 6 сентября, 2014 Автор Жалоба Поделиться Опубликовано 6 сентября, 2014 kors извиняюсь, верное утверждение, просто я эту манипуляцию тоже делал но результата не увидел, т.к. не заметил что прописал print вместо print_r (для показа переменной). Все таки оказался человеческий фактор) Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.