OC v2.х Не работает пагинация в OpenCart 2?

labirint

Разрушитель (V)
Сообщения
114
Симпатии
24
Баллы
129
Хочу поделится ответом/вариантом, почему может не работать пагинация в OpenCart 2? На одном сайте был установлен модификатор с названием Default timezone for PHP and Database и кодом
PHP:
<?xml version='1.0' encoding='utf-8'?>
<modification>
  <name>Default timezone for PHP and Database</name>
  <code>timezone</code>
  <version></version>
  <author>Tri Le</author>
  <link>http://tlecode.com</link>

  <file path="system/library/db.php">
    <operation>
      <search regex="true"><![CDATA[~(.*this->)(.*)(->query.*)~]]></search>
      <add position="replace"><![CDATA[
//tri mod start
$query = $this->$2->query("SELECT * FROM " . DB_PREFIX . "setting WHERE `code` = 'timezone'");

if ($query->num_rows) {
  $status = $timezone = 0;

  foreach ($query->rows as $row) {
    if ($row['key'] == 'timezone_timezone') $timezone = $row['value'];
    if ($row['key'] == 'timezone_status') $status = $row['value'];
  }

  if ($status && $timezone) {
    date_default_timezone_set($timezone);

    $now = new DateTime();
    $mins = $now->getOffset() / 60;
    $sgn = ($mins < 0 ? -1 : 1);
    $mins = abs($mins);
    $hrs = floor($mins / 60);
    $mins -= $hrs * 60;
    $offset = sprintf('%+d:%02d', $hrs * $sgn, $mins);
    $this->$2->query("SET time_zone = '" . $offset . "'");
  }
}
//tri mod end
$1$2$3
      ]]></add>
    </operation>
  </file>
</modification>

Ставил для синхронизации времени, потому как на сайте отличались реальные и отображаемые действия посетителей во времени. Поставил, проверил и забыл. Через год установил модуль для админки - Admin Quick Edit PRO, и в нём при фильтре товаров по категории пропала пагинация. Криво/косо я решил эту проблему. Но через пол года я поставил модуль для голосового поиска товаров, не в админке, а в шаблоне, и заметил что тоже пропала пагинация. В тоже время в категориях, производителях, других модулях, где есть пагинация, всё отображалось без проблем. В журнале опенкарта и на сервере ошибок не было. Не бывает же так, чтобы из-за одного модуля пропадала пагинация и в админке и на сайте? Бывает! Совершенно из-за стороннего модуля, который непосредственно не затрагивает кода пагинации - пагинация пропадает. Пару дней промучался с поиском проблемы, отключил модификатор, и всё наладилось. Надеюсь этим постом кому-то помочь.
 
Назад
Верх