Поиск по сайту
Результаты поиска по тегам 'pagination'.
Найдено 22 результата
-
возникла проблема с переключателем страниц когда находишься на второй странице каталога, в пагинации работают все переключатели, но вот первая и назад отдают такую ссылку /Product-catalog?page={page} вместо того чтобы отдавать такую ссылку /Product-catalog это пристреленное выдает с приставкой ?page={page} ну да и фиг с этим, как можно сделать авто редирект если страница на которую переходим содержит в url приставку ?page={page} чтобы убирало эту приставку и затем автоматически переходило по ссылке без этой приставки P.s. ссылку для первой страницы так и выводит ?page={page} т.е. без числа а именно в фигурных скобках {page} а для третьей и всех остальных выводит как положено - ?page=3
-
Всем привет! Прочитал кучу статей и было много разговоров на эту тему. Хотелось бы услышать Ваше мнение желательно аргументировано. В гугл справке есть такая инфа https://developers.google.com/search/docs/advanced/ecommerce/pagination-and-incremental-page-loading#sequentially Не используйте первую страницу с результатами поиска в качестве канонической. Вместо этого назначайте каждой странице ее собственный канонический URL. Выходя из этого не совсем правильно когда на всех страницах пагинации каноникал на первую страницу. в этом есть логика, так как по своей сути каноникал это указание с дубля на уникальную страницу, а ведь каждая страница пагинации по сути уникальна с разными товарами. Но на многих авторитетних сайтах пишут что каноникал должен быть именно на первую страницу пагинации. Что скажите?
- 87 ответов
-
- пагинация
- каноничные ссылки
- (и ещё 4)
-
[Поддержка] Кнопка "Показать еще" товары (OC1.5.x&OC2.x)
zemleroi опубликовал теме в Другие дополнения
10 Скачать / Купить дополнение Кнопка "Показать еще" товары (OC1.5.x&OC2.x) Небольшое дополнение на vqmod(ocmod) заменяет стандартную пагинацию страниц на кнопку "Показать еще" с догрузкой товаров на страницу без ее перезагрузки. Авто-определение русского и английского (остальные добавить не сложно), по умолчанию русский Техническая поддержка оказывается только для купивших. При уличении участия "в складчину" тех.поддержка и консультация не осуществляется На форуме отвечаю только на общие вопросы без консультаций Требования: 1. OC 1.5.х+vqmod (демо) или OC2.0.x +vqmod (демо) или OC2.1.x (демо) или OC 2.2.x (демо) или OC 2.3.x (демо) 2. vqmod или ocmod 3. без vqmod правки вносятся вручную согласно соответствующему файлы Установка: 1. Скопировать из папки upload на хостинг 2. Или для OCMOD загрузить файл bal.ocmod.zip через админку магазина или копируем из архива bal.ocmod.zip содержимое папки upload на сервер Совместимость с фильтрами: 1. Coolfilter (см. демо) 2. Mega Filter PRO (интеграция в архиве) (см. демо) 3. OCfilter (см. демо) и подобные работающие без Ajax Совместимость с шаблонами: 1. Совместим с шаблоном AVA STORE (см. демо) 2. Совместим с шаблоном MiniMalism 3. Совместим с шаблоном Moneymaker (см. демо) Не совместим: 1. с фильтром filterPro 2. с фильтром Adv Ajax Filter FAQ: Использование callback-функции: button_autopager(function(){ своя_функция }) - добавляем в footer События для отслеживания: balLoadds - модуль загруженbalLoadgp - загрузка страницыbalLoaddp - страница загружена Использовать можно так: $(document).on('balLoaddp', function() {<наши действия на событие>}); - добавляем на страницу в нужном месте Структура элементов на странице: $('.element-bal') - все блоки обработанные button_autopager $('.new-element-bal') - новые блоки появившиеся после нажатия на кнопку "показать еще" Для проверки совместимости с каким либо модулем необходимо связаться со мной и предоставить модуль для тестирования (гарантия не распространения гарантирую) Основное демо: см.выше Добавил zemleroi Добавлено 25.04.2015 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет ocStore 2.3 2.2 2.1 1.5.5.1.2 1.5.5.1.1 1.5.5.1 1.5.4.1.2 1.5.4.1.1 1.5.4.1 1.5.3.1 1.5.2.1 1.5.1.3 OpenCart.Pro, ocShop Обращение к серверу разработчика Нет- 145 ответов
-
- 2
-
- показать еще
- кнопка
- (и ещё 3)
-
Проблема в следующем если не указан гет параметр "&catalog=1" то пагинация выдает не правильный результат с параметром без параметра
-
Добрый день. Сайт опенкарт 2 https://silvex925.com.ua/search?&search=кольцо в поиске при переключении на страницы пагинации выдает 404 ошибку. Хелп плз) product/search.php product/search.tpl
-
Есть сайт -- подопытный Попытался прикрутить js скрипт AJAX-пагинации по кнопке "Показать ещё" Кнопка появилась, но при нажатии на неё ничего не происходит. Знатоки, прошу помочь, подскажите в чём ошибка (я несильно шарю) КОД: Надеюсь на вашу помощь, заранее спасибо
-
Столкнулся с проблемой. Нужно было пагинацию привести в соответствие с Bootstrap 3.0. Оказалось что за её внешний вид отвечает system/library/pagination.php. То есть все достаточно жестко прописано в самом файле и при этом эта же пагинация используется и в админке, которая у меня с Bootstrap ничего общего не имеет. Соответственно при редактировании файла пагинации, в админке она начинает отображаться некорректно. Не найдя лучшего способа решил сделать отдельную пагинацию 1. Скопировал файл system/library/pagination.php 2. Переименовал его в pagcategory.php. 3. В новом файле pagcategory.php переименовал класс в соответствии с названием файла: class PagCategory 4. Подключил этот класс в файле system/startup.php require_once(DIR_SYSTEM . 'library/pagcategory.php'); 5. Для вывода на страницу, к примеру, категории в файле controller/product/category.php заменить $pagination = new Pagination(); на свой класс $pagination = new PagCategory(); Если бы можно было обойтись редактированием css, то я бы всего этого не делал. Мне же нужно было оформить ссылки в списки и т.д. и т.п. Может кому-то пригодится, либо посоветуете способ проще. Хотя мне этот вполне нравится.
-
Возникла такая проблема. Настроил на сайте ЧПУ. Все, в принципе нормально, только урлы страниц категории выводятся так: site.ru/cat_name/?page=5 а хотелось бы так: site.ru/cat_name/page/5/ В .htaccess уже настроил правила для page, осталось сделать вывод урлов в нужном виде, но никак не пойму, где это делается. Может, кто-нибудь в курсе, как это сделать?
-
Добрый день, уважаемые! Прикрутила простейший скрипт ajax для загрузки товаров в product/category.tpl. <script> $('.sliderArrow').on('click', '.toPageButton', function(){ $.ajax({ url: '/catalog/controller/product/category.php', type: "get", data: $('.toPageButton').attr('href') , success: function(data){ alert(data); }, error: function() {} }); }); </script> А в результате он мне пишет: Fatal error: Class 'Controller' not found in /catalog/controller/product/category.php on line 3. Файл category.php не меняла. Что я делаю не так?
-
Переходя на следующие страницы, предыдущие страницы имеют ссылку с пустым href="" https://sumkiplus.ru/sumki/chemodany/chemodany-plastikovye?page=2 И еще можно вручную прописать любой номер страницы ?page=1000 и страница откроется, а должна быть 404-ая. Сам pagination.php <?php // * @copyright OPENCART.PRO 2011 - 2017. // * @forum http://forum.opencart.pro // * @source See SOURCE.txt for source and other copyright. // * @license GNU General Public License version 3; see LICENSE.txt class Pagination { public $total = 0; public $page = 1; public $limit = 20; public $num_links = 5; public $url = ''; public $text_first = '|<'; public $text_last = '>|'; public $text_next = '>'; public $text_prev = '<'; public function render() { $total = $this->total; if ($this->page < 1) { $page = 1; } else { $page = $this->page; } if (!(int)$this->limit) { $limit = 10; } else { $limit = $this->limit; } $num_links = $this->num_links; $num_pages = ceil($total / $limit); $this->url = str_replace('%7Bpage%7D', '{page}', $this->url); $output = '<ul class="pagination">'; if ($page > 1) { $output .= '<li><a href="' . str_replace(array('&page={page}', '?page={page}'), '', $this->url) . '">' . $this->text_first . '</a></li>'; if ($page - 1 === 1) { $output .= '<li><a href="' . str_replace(array('&page={page}', '?page={page}'), '', $this->url) . '">' . $this->text_prev . '</a></li>'; } else { $output .= '<li><a href="' . str_replace('{page}', $page - 1, $this->url) . '">' . $this->text_prev . '</a></li>'; } } if ($num_pages > 1) { if ($num_pages <= $num_links) { $start = 1; $end = $num_pages; } else { $start = $page - floor($num_links / 2); $end = $page + floor($num_links / 2); if ($start < 1) { $end += abs($start) + 1; $start = 1; } if ($end > $num_pages) { $start -= ($end - $num_pages); $end = $num_pages; } } for ($i = $start; $i <= $end; $i++) { if ($page == $i) { $output .= '<li class="active"><span>' . $i . '</span></li>'; } elseif($i == 1) { $output .= '<li><a href="' . str_replace('&', '&', rtrim( str_replace('page={page}', '', $tmp_url), '?&')) . '">' . $i . '</a> '; } else { if ($i === 1) { $output .= '<li><a href="' . str_replace('&', '&', rtrim( str_replace('page={page}', '', $tmp_url), '?&')) . '">' . $i . '</a> '; } else { $output .= '<li><a href="' . str_replace('{page}', $i, $this->url) . '">' . $i . '</a>'; } } } } if ($page < $num_pages) { $output .= '<li><a href="' . str_replace('{page}', $page + 1, $this->url) . '">' . $this->text_next . '</a></li>'; $output .= '<li><a href="' . str_replace('{page}', $num_pages, $this->url) . '">' . $this->text_last . '</a></li>'; } $output .= '</ul>'; if ($num_pages > 1) { return $output; } else { return ''; } } }
-
Коллеги, Сломал голову и перешерстил форумы - пока не смог найти решения. Не работает пагинация с поиском (без поиска работает) - проблема упоминается, но как её фиксить не совсем ясно. Суть такова: при поиске или фильтрации первую страницу код генерит правильно, а вот ссылки на пагинацию выдает неверные. Например, ссылка на страницу с поиском: /index.php?route=product/category&path=1&search=pink%20floyd А вот ссылки на пагинацию, которые я вижу на этой странице, выглядят так: <div class="pages"><ul class="pagination"><li class="active"><span>1</span></li> <li><a href="***/index.php?route=product/category&path=1&page=2">2</a></li> <li><a href="***/index.php?route=product/category&path=1&page=3">3</a></li> <li><a href="***/index.php?route=product/category&path=1&page=4">4</a></li> <li><a href="***/index.php?route=product/category&path=1&page=2">></a></li> <li><a href="***/index.php?route=product/category&path=1&page=4">>|</a></li></ul> </div> при этом не совсем понятно даже какой контроллер генерит эти ссылки. Код с пагинацией есть и в oclayerednavigation.php: $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->url = $base_url . 'index.php?route=product/category&path=' . $category_id . $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 ($limit && ceil($product_total / $limit) > $page) { $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1), true), 'next'); } $data['sort'] = $sort; $data['order'] = $order; $data['limit'] = $limit; $json['result_html'] = $this->load->view('extension/module/oclayerednavigation/occategoryfilter', $data); И в category.php: $pagination = new Pagination(); $pagination->total = $product_total; $pagination->page = $page; $pagination->limit = $limit; $pagination->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $data['pagination'] = $pagination->render(); $paginationOld = new Pagination(); $paginationOld->total = $product_total; $paginationOld->page = $page; $paginationOld->limit = $limit; $paginationOld->url = $this->url->link('product/category', 'path=' . $this->request->get['path'] . $url . '&page={page}'); $data['link'] = $this->url->link('product/category', 'path=' . $this->request->get['path']); $data['paginationOld'] = $paginationOld->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)); // http://googlewebmastercentral.blogspot.com/2011/09/pagination-with-relnext-and-relprev.html if ($page == 1) { $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id']), 'canonical'); } else { $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. $page), 'canonical'); } if ($page > 1) { $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . (($page - 2) ? '&page='. ($page - 1) : '')), 'prev'); } if ($limit && ceil($product_total / $limit) > $page) { $this->document->addLink($this->url->link('product/category', 'path=' . $category_info['category_id'] . '&page='. ($page + 1)), 'next'); } $data['vinyl_states'] = $this->model_catalog_product->getVinylStates(); $data['cover_states'] = $this->model_catalog_product->getCoverStates(); $data['vinyl_types'] = $this->model_catalog_product->getVinylTypes(); $data['price_min'] = $this->model_catalog_product->getMinPrice(); $data['price_max'] = $this->model_catalog_product->getMaxPrice(); $data['year_min'] = $this->model_catalog_product->getMinYear(); $data['year_max'] = $this->model_catalog_product->getMaxYear(); $data['sort'] = $sort; $data['order'] = $order; $data['limit'] = $limit; $data['continue'] = $this->url->link('common/home'); $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); if (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { $json = json_encode(['content' => $this->load->view('extension/module/oclayerednavigation/occategory', $data)]); $this->response->addHeader('Content-Type: application/json'); echo json_encode($json); die(); } $this->response->setOutput($this->load->view('product/category', $data)); Функция поиска в catalog\model\catalog\product.php выглядит вот так: (хотя может быть она к делу и не относится) public function mainSearch($term) { $products = $this->searchByProductName($term); $manufactures = $this->searchByManufacturer($term); $items = []; $this->load->model('tool/image'); foreach ($products as $product) { $id = $product['product_id']; $items[$id]['id'] = $id; $items[$id]['text'] = $product['name']; $items[$id]['type'] = 'product'; $items[$id]['manufacturer'] = $product['manufacturer']; if ($product['image']) { $image = $this->model_tool_image->resize($product['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height')); } else { $image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height')); } $items[$id]['image'] = $image; $items[$id]['link'] = $this->url->link('product/product', 'product_id=' . $id); } foreach ($manufactures as $manufacture) { $id = $manufacture['manufacturer_id']; $items[$id]['id'] = $id; $items[$id]['text'] = $manufacture['name']; $items[$id]['type'] = 'manufacturer'; if ($manufacture['image']) { $image = $this->model_tool_image->resize($manufacture['image'], $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height')); } else { $image = $this->model_tool_image->resize('placeholder.png', $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_width'), $this->config->get('theme_' . $this->config->get('config_theme') . '_image_product_height')); } $items[$id]['image'] = $image; $items[$id]['link'] = $this->url->link('product/category/index', 'path=' . MAIN_CATEGORY . '&filters[manufacturer]=' . $id); } return $items; Попытки отредактировать код линки для паджинации, добавив в него любое слово во всех из этих файлов не привел к тому, что я вижу изменения в source code веб-страницы после поиска. Может быть я не сбросил какие-то кэши? Или же я не те контроллеры открываю совсем. Ничего не понятно Подскажите, пожалуйста, что поправить. Разгадка, кажется, близко, но не могу нащупать. Спасибо!
- 1 ответ
-
- pagination
- пагинация
-
(и ещё 3)
Теги:
-
Привет всем! Я в opencart только начинаю изучать и не могу разобраться с ошибкой (деление на нуль): Warning: Division by zero in /home/a/website.ru/public_html/catalog/controller/product/octestimonial.php on line 69 А страница сайта в иероглифах каких-то... $data['results'] = sprintf($this->language->get('text_pagination'), ($testimonial_total) ? (($page - 1) * $limit) + 1 : 0, ((($page - 1) * $limit) > ($testimonial_total - $limit)) ? $testimonial_total : ((($page - 1) * $limit) + $limit), $testimonial_total, ceil($testimonial_total / $limit));
-
Плагин для правильной пагинации
svmax опубликовал теме в SEO-вопросы (оптимизация и продвижение магазина)
Привет, форумчане! Посоветуйте, пожалуйста, плагин для правильной пагнации (прев-некст и каноникал) или как решить эту проблему самостоятельно. Дополнение товарища Otvet не подходит, т.к. есть лишние функции и скорее всего будет конфликтовать это дело. Да и все остальные пункты из этого плагина совершенно не нужны. Заранее спасибо! -
Подскажите может кто сталкивался с проблемой работы пагинации с включенным Seo Pro. http://miratelle.ru/podushki/ при клики на вторую и далее страницы просто обновляется страница, хотя должен быть переход http://miratelle.ru/podushki/?page=2
-
созрел для первого своего вопроса на форуме :ugeek: пытался понять, но так и не въехал в смысл использования двойных запросов в движке - сначала для получения элементов, а потом для их подсчета (getProducts/getTotalProducts и тд) есть какая-то особая причина для их разделения, вместо использования например глобальных переменных для получения количества через ->num_rows в одном запросе? или же отдельный запрос вида SELECT COUNT будет работать быстрее подсчета итоговых результатов через ->num_rows в первом? буду благодарен за пояснения
- 14 ответов
-
- totla
- pagination
- (и ещё 2)
-
Добрый день, подскажите пожалуйста как изменить пагинацию что бы в ней было троеточие ? вот как на изображениях
-
Ребята! КТо сталкивался? есть такое в product/category.php <div class="row"> <div class="col-sm-6 text-left"><?php echo $pagination; ?></div> <div class="col-sm-6 text-right"><?php echo $results; ?></div> </div> Удаляю я вот это <div class="col-sm-6 text-right"><?php echo $results; ?></div> То есть осталось: <div class="row"> <div class="col-sm-6 text-left"><?php echo $pagination; ?></div> </div> А оно мне все равно выводит <?php echo $results; ?> Что я только не делал! Кеш чистил по 10 раз, и в ручную тоже. Кто сталкивался? в какую сторону рыть?
-
здраствуйте нужно сделать пагинацыю с 5 елементов по дефолту же 15, подскажите пожалуйста
-
опенкарт 15512 функция pagination не работает,то есть в разделе категорий где внизу справа - Показано с 1 по 16 из 21 (страниц: 2) при любом количестве товаров в категории стоит как - Показано с 0 по из (страниц: 0) И слева от него напротив 1 2 > >| переход на страницы 1 2 3 и кнопки переключателей вообще исчезли. И вот вопрос,где копать нужно,чтобы исправить эту ошибку? Где обрабатывается эта информация в базе где ниб или в /system/library/pagination.php? Ткните... Хотя в /system/library/pagination.php возвращал исходный код на по умолчанию подумав,что при установке того или иного модуля могли быть перезаписаны какие то файлы,но нет,ошибка остается...
- 7 ответов
-
- pagination
- показано
-
(и ещё 1)
Теги:
-
Приветствую! Столкнулся с определенными проблемами. Много гуглил( и продолжаю)), нашел аналогичные вопросы,но не решения, поэтому решил обратиться за помощью на форум. Собственно по теме: Стоит OcStore v1.5.5.1.1. Своя тема. С целью упрощения сайта, убрал возможность выбора сортировки у пользователя. Соответсвенно осталась только сортировка по умолчанию. Насколько понял и пробовал менять,задается она вот тут - catalog\controller\product\category.php if (isset($this->request->get['sort'])) { $sort = $this->request->get['sort']; } else { $sort = 'p.sort_order'; } if (isset($this->request->get['order'])) { $order = $this->request->get['order']; } else { $order = 'ASC'; } Планировал поставить сортировку по имени товара(по алфавиту) по умолчанию. Соответсвенно поменял p.sort_order на pd.name Вроде все нормально. Сработало. Но оказалось что некоторые товары отображаются не в том порядке.(например. КРЕМ-МАСЛО ДЛЯ ТЕЛА «ВИНОГРАДНОЕ ОМОЛАЖИВАЮЩЕЕ» Отображается раньше чем КРЕМ-МАСЛО ДЛЯ ТЕЛА «АНТИЦЕЛЛЮЛИТНОЕ ЦИТРУСОВОЕ» ). п Проверил сортировку по цене,все работает корректно. Полез в БД, при выполнении сортировки там, теже проблемы(.КРЕМ-МАСЛО ДЛЯ ТЕЛА «ВИНОГРАДНОЕ ОМОЛАЖИВАЮЩЕЕ» Отображается раньше чем КРЕМ-МАСЛО ДЛЯ ТЕЛА «АНТИЦЕЛЛЮЛИТНОЕ ЦИТРУСОВОЕ) тоже самое в админке. В чем может быть проблема?куда копать?проблемы с кодировкой базы? Вторая часть. На странице категории,когда товары превышают лимит на странице и появляется пагинация. При переходе на вторую страницу,там могут отображаться теже товары что и на первой,при этом другие товары которые должны там быть,как бы пропадают.Если убрать лимит отображения товаров,чтобы все помещались на одной странице то все в порядке. Эта ошибка возникает также при сортировке с pd.name. Хух. вроде подробно описал. надеюсь на помощь! Спасибо!
- 5 ответов
-
- сортировка
- категории
-
(и ещё 2)
Теги:
-
Здравствуйте уважаемые форумчане. Нужна ваша помощь. Купил шаблон kuber, поставил opencart 1.5.6. Вместе с шаблоном в комплекте шел pavblog настроенный на дизайн kuber. Столкнулся с проблемой в пагинации. При включении в настройках opencart чпу-seo перестает работать нумерация страниц. При отключении все работает. Вот пример сайта где не работает пагинация. http://sshkf.ru/tailand.html Самое обидное что на всех сайтах поставил систему а эту проблему увидел только сегодня.
-
- пагинация
- pagination
- (и ещё 4)