Перейти к содержанию

Рекомендуемые сообщения

опенкарт 15512 функция pagination не работает,то есть в разделе категорий где внизу справа - Показано с 1 по 16 из 21 (страниц: 2) при любом количестве товаров в категории стоит как - Показано с 0 по из (страниц: 0)

И слева от него напротив 
1 2 > >| переход на страницы 1 2 3 и кнопки переключателей вообще исчезли.

И вот вопрос,где копать нужно,чтобы исправить эту ошибку? Где обрабатывается эта информация в базе где ниб или в 
/system/library/pagination.php? Ткните...
Хотя в /system/library/pagination.php возвращал исходный код на по умолчанию подумав,что при установке того или иного модуля могли быть перезаписаны какие то файлы,но нет,ошибка остается...

post-682919-0-27007800-1413613884_thumb.jpg

Поделиться сообщением


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

Вероятно хотели исправить нагрузку на сайте и задели $product_total в /controller/catalog/category.php

Поделиться сообщением


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

Вероятно хотели исправить нагрузку на сайте и задели $product_total в /controller/catalog/category.php

 

Спасибо,что отреагировали на тему.

В catalog/controller/product/category.php заменил на исходный код,но это ничего не дало.

Из исправления нагрузки,это только установка встроенного модуля с чпу SeoPro,он же на аналогичном варианте,только таких последствий нет.

Поделиться сообщением


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

Пробовал как здесь сделать отдельную пагинацию,в итоге результат тот же

Поделиться сообщением


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

Посмотрите, что пишет в логах ошибок в админке

И если есть vqmod, то посмотрите, что пишется у него в ошибках

Поделиться сообщением


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

deim, в журнале ошибок ничего нет. Правда иногда (раз в неделю) появляются 3 строки с указанием пути к SeoPro. Но,тоже самое и на аналогичном варианте,о котором писалось выше и пагинация там работает исправно.

Поделиться сообщением


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

Есть еще подозрение на это ссылка дополнение,я его как то устанавливал потом удалил. Чую что в /vqmod/vqcache/ модуль какие-то следы оставил,только не знаю где именно мог зацепить $product_total

Из /vqmod/vqcache/ удалил следующие файлы:

/vqcache/vq2-catalog_controller_product_category.php

/vqcache/vq2-catalog_controller_product_compare.php

/vqcache/vq2-catalog_controller_product_manufacturer.php

/vqcache/vq2-catalog_controller_product_product.php

/vqcache/vq2-catalog_controller_product_search.php

/vqcache/vq2-catalog_controller_product_special.php
те что в разделе контролера...

Уже после на сайте на странице категорий появлялась ошибка с указанием пути к /vqcache/vq2-catalog_view_theme_default_template_product_category.tpl, здесь же вернул исходный код из /catalog/view/theme/default/template/product/category.tpl
В результате,на сайте в разделе категорий,где раньшеПоказано с 0 по из (страниц: 0) сейчасtext_pagination
Думаю проблема оттуда идет,только вот не знаю какие еще файлы в 
/vqmod/vqcache/ от удаленного раннее модуля остались...

Поделиться сообщением


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

Посмотрите, что пишет в логах ошибок в админке

И если есть vqmod, то посмотрите, что пишется у него в ошибках

 

deim, в журнале ошибок ничего нет. Правда иногда (раз в неделю) появляются 3 строки с указанием пути к SeoPro. Но,тоже самое и на аналогичном варианте,о котором писалось выше и пагинация там работает исправно.

 

Вот эти 3 строки:

2014-10-22 9:16:55 - PHP Notice:  Undefined index:  in /home/user/catalog/controller/common/seo_pro.php on line 53
2014-10-22 9:16:55 - PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/user/index.php:107) in /home/user/catalog/controller/common/seo_pro.php on line 308
2014-10-22 9:16:55 - PHP Warning:  Cannot modify header information - headers already sent by (output started at /home/user/index.php:107) in /home/user/system/library/response.php on line 12

Поделиться сообщением


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

Для публикации сообщений создайте учётную запись или авторизуйтесь

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

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Похожий контент

    • От GrindBalls
      Привет всем! Я в 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));
    • От Wadamir
      Скачать/Купить дополнение


      Ajax загрузка товаров на страницу категории
      /***************** ВНИМАНИЕ *****************/
       
      1. С фильтрами модуль (неважно с кнопкой или нет) НЕ РАБОТАЕТ, кроме стандартного фильтра.
      2. Чтобы работал с каким-либо иным фильтром - надо чтобы эта функция была в самом фильтре.
      3. Я не оказываю услуг по установке / доработке этого модуля. Никаких!
       
      Если Вы хотите чтобы модуль заработал с Вашим фильтром - нужно обращаться к создателю фильтра, а не ко мне!
       
      Подгрузка товаров на страницу категории через ajax.
      На версиях 2.1.х работает "из коробки".
      Теперь есть кнопка "Загрузить ещё товары" (на скриншоте видно). Её можно отключить, тогда будет автоматически подгружать товары при скролле.
      Работает через OCMOD, никакие файлы не перезаписывает.
      По совету знающих людей - оставлена и пагинация, и кнопка. Для чего? А чтобы робот поисковый мог найти все страницы! Во как!
      Кстати, всё можно отключить, используя блокнот. Вот переменные:
      var pagination_exist = true; // оставить пагинацию и добавить кнопкуvar button_more = true; // наличие кнопки "загрузить ещё"   В версии 1.4 был небольшой баг с пагинацией, рекомендую обновить версию до 1.5
      Версия 1.6 Добавил отступ снизу (для многостраничных категорий будет полезно) и добавил переинициализацию скриптов для Ajax содержимого.
      Версия 2.0 Добавлен МУЛЬТИЯЗЫК! Теперь Вы можете задавать для кнопки свои тексты. Через админку! Смотрите скрншоты. Там же можно включать/выключать эту кнопку!
      Версия 2.0.1 Исправлен небольшой баг!
      Версия 2.1.1 Исправлен баг, приводивший к ошибке на последней странице.
      Версия 2.1.2 Добавлена возможность самостоятельной стилизации кнопки. Смотрите скриншоты! Плюс bug fixes
      Версия 2.2 В админку перенесено включение/отключение стрелочки "наверх". Смотрите скриншоты! Плюс optimization
      Версия 2.3 Bug fixed
       
      Если есть ошибки - значит есть, не обессудьте.
      В доработках модуля под Ваш шаблон - не заинтересован!
      Добавил Wadamir Добавлено 08.05.2016 Категория Прочее Системные требования Метод активации Без активации Ioncube Loader Нет OpenCart 2.1 ocStore 2.1 OpenCart.Pro, ocShop Не проверялось  
    • От Wadamir
      /***************** ВНИМАНИЕ *****************/
       
      1. С фильтрами модуль (неважно с кнопкой или нет) НЕ РАБОТАЕТ, кроме стандартного фильтра.
      2. Чтобы работал с каким-либо иным фильтром - надо чтобы эта функция была в самом фильтре.
      3. Я не оказываю услуг по установке / доработке этого модуля. Никаких!
       
      Если Вы хотите чтобы модуль заработал с Вашим фильтром - нужно обращаться к создателю фильтра, а не ко мне!
       
      Подгрузка товаров на страницу категории через ajax.
      На версиях 2.1.х работает "из коробки".
      Теперь есть кнопка "Загрузить ещё товары" (на скриншоте видно). Её можно отключить, тогда будет автоматически подгружать товары при скролле.
      Работает через OCMOD, никакие файлы не перезаписывает.
      По совету знающих людей - оставлена и пагинация, и кнопка. Для чего? А чтобы робот поисковый мог найти все страницы! Во как!
      Кстати, всё можно отключить, используя блокнот. Вот переменные:
      var pagination_exist = true; // оставить пагинацию и добавить кнопкуvar button_more = true; // наличие кнопки "загрузить ещё"   В версии 1.4 был небольшой баг с пагинацией, рекомендую обновить версию до 1.5
      Версия 1.6 Добавил отступ снизу (для многостраничных категорий будет полезно) и добавил переинициализацию скриптов для Ajax содержимого.
      Версия 2.0 Добавлен МУЛЬТИЯЗЫК! Теперь Вы можете задавать для кнопки свои тексты. Через админку! Смотрите скрншоты. Там же можно включать/выключать эту кнопку!
      Версия 2.0.1 Исправлен небольшой баг!
      Версия 2.1.1 Исправлен баг, приводивший к ошибке на последней странице.
      Версия 2.1.2 Добавлена возможность самостоятельной стилизации кнопки. Смотрите скриншоты! Плюс bug fixes
      Версия 2.2 В админку перенесено включение/отключение стрелочки "наверх". Смотрите скриншоты! Плюс optimization
      Версия 2.3 Bug fixed
       
      Если есть ошибки - значит есть, не обессудьте.
      В доработках модуля под Ваш шаблон - не заинтересован!
    • От Forkintheass
      Коллеги,
       
      Сломал голову и перешерстил форумы - пока не смог найти решения. Не работает пагинация с поиском (без поиска работает) - проблема упоминается, но как её фиксить не совсем ясно.
       
      Суть такова: при поиске или фильтрации первую страницу код генерит правильно, а вот ссылки на пагинацию выдает неверные.
      Например, ссылка на страницу с поиском: /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&amp;path=1&amp;page=2">2</a></li> <li><a href="***/index.php?route=product/category&amp;path=1&amp;page=3">3</a></li> <li><a href="***/index.php?route=product/category&amp;path=1&amp;page=4">4</a></li> <li><a href="***/index.php?route=product/category&amp;path=1&amp;page=2">&gt;</a></li> <li><a href="***/index.php?route=product/category&amp;path=1&amp;page=4">&gt;|</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 . '&amp;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 веб-страницы после поиска. Может быть  я не сбросил какие-то кэши? Или же я не те контроллеры открываю совсем. Ничего не понятно
       
      Подскажите, пожалуйста, что поправить. Разгадка, кажется, близко, но не могу нащупать. 
       
      Спасибо!
    • От svmax
      Привет, форумчане!
       
      Посоветуйте, пожалуйста, плагин для правильной пагнации (прев-некст и каноникал) или как решить эту проблему самостоятельно. 
      Дополнение товарища Otvet не подходит, т.к. есть лишние функции и скорее всего будет конфликтовать это дело. Да и все остальные пункты из этого плагина совершенно не нужны. 
       
      Заранее спасибо! 
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

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

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