Более красивый вариант создания отдельной пагинации для каталога, без необходимости заменять код в контроллерах
Может поможет решение кому то в будущем
Открываем config.php в корне магазина
Добавляем в конец файла:
// Pagination
define('REPLACE_PAGINATION', true);
Открываем файл /system/startup.php
Находим:
function library($class) {
$file = DIR_SYSTEM . 'library/' . str_replace('\\', '/', strtolower($class)) . '.php';
if (is_file($file)) {
include_once(modification($file));
return true;
} else {
return false;
}
}
Меняем на:
function library($class) {
if(defined('REPLACE_PAGINATION') && $class == 'Pagination'){
$file = DIR_SYSTEM . 'library/' . str_replace('\\', '/', strtolower($class)) . '_catalog.php';
} else {
$file = DIR_SYSTEM . 'library/' . str_replace('\\', '/', strtolower($class)) . '.php';
}
if (is_file($file)) {
include_once(modification($file));
return true;
} else {
return false;
}
}
Копируем system/library/pagination.php и переименовываем в pagination_catalog.php
Далее вносим любые нужные правки в созданном файле и они будут отображаться только во фронте, админка останется с дефолтной пагинацией
П.С. Тестировалось на OC 2.3, решение от beeboosters подойдет для прошлых версий, в которых еще не добавили автозагрузчик. Можно его также реализовать просто заменив подключение pagination.php на pagination_catalog.php по значению константы REPLACE_PAGINATION