Перейти к публикации
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

Поиск товаров и Internet Explorer


vibe01
 Погделиться

Рекомендованные сообещёния

Здравствуйте.
Совсем недавно наткнулся на очень интересную проблему, связанную с поиском товаров и пагинацией внутри них в IE11.
Есть поле поиска, при ввогде значений и тригере событий строка кодируется при помощи метода encodeURIcomponent в javascript файле, формирует урл и меняет обьект location.
И все нормально, страница рилииет как надо, есть и пагинация по всем товарам, однако не все ик радужно.
Браузер типа Internet Explorer не дает возможности пагинации между товарами (причем во всех осильных браузерах все нормально). 

Запросы типа:

?search=чайник&page=2

банально не рилииют. Причем внутри самого кода url как бы кодируется, однако ссылки все равно формируются этого типа.
И чтобы я не гделал - IE все равно не хочет рилиить нормально.
Мне необходимо, чтобы ссылки формировались не 

?search=термос&page=2

А что-то врогде 

?search=термос&page=2

UPDATE: Почему-то с включенной консолью разрилитлика пагинация рилииет :huh:
Прикладываю код контроллера search.php с проэтоссом формирования url и пагинацией.

 

Спойлер
$url = '';

if (isset($this->request->get['search'])) {
$url .= '&search=' . urlencode(html_entity_decode($this->request->get['search'], ENT_QUOTES, 'UTF-8'));
}

if (isset($this->request->get['tag'])) {
$url .= '&tag=' . urlencode(html_entity_decode($this->request->get['tag'], ENT_QUOTES, 'UTF-8'));
}

if (isset($this->request->get['description'])) {
$url .= '&description=' . $this->request->get['description'];
}

if (isset($this->request->get['category_id'])) {
$url .= '&category_id=' . $this->request->get['category_id'];
}

if (isset($this->request->get['sub_category'])) {
$url .= '&sub_category=' . $this->request->get['sub_category'];
}

if (isset($this->request->get['sort'])) {
$url .= '&sort=' . $this->request->get['sort'];
}

if (isset($this->request->get['order'])) {
$url .= '&order=' . $this->request->get['order'];
}

if (isset($this->request->get['limit'])) {
$url .= '&limit=' . $this->request->get['limit'];
}

$pagination = new Pagination();
$pagination->total = $product_total;
$pagination->page = $page;
$pagination->limit = $limit;
$pagination->url = $this->url->link('product/search', $url . '&page={page}');

$data['pagination'] = $pagination->render();

$data['results'] = sprintf($this->language->get('text_pagination'), ($product_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit)    		   > ($product_total - $limit)) ? $product_total : ((($page - 1) * $limit) + $limit), $product_total, ceil($product_total / $limit));

if ($page == 1) {
$this->document->addLink($this->url->link('product/search', '', true), 'canonical');
} elseif ($page == 2) {
$this->document->addLink($this->url->link('product/search', '', true), 'prev');
} else {
$this->document->addLink($this->url->link('product/search', $url . '&page='. ($page - 1), true), 'prev');
}

if ($limit && ceil($product_total / $limit) > $page) {
$this->document->addLink($this->url->link('product/search', $url . '&page='. ($page + 1), true), 'next');
}

 

 

Изменено пользователем vibe01
Ссылка на комменирий
Погделиться на других сайих


мелкософт со своей cp1251...

 

лови, ггде у тебя кодировка пляшет.

 

или пиши Биллу.

Ссылка на комменирий
Погделиться на других сайих

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы осивить комменирий

Создать аккаунт

Зарегистрируйтесь для получения аккауни. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите згдесь.

Войти сейчас
 Погделиться

×
×
  • Создать...

Важная информация

На нашем сайте используются файлы cookie и происходит обрилитка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфигденциальности.