Перейти к содержанию
View in the app

A better way to browse. Learn more.

Русскоязычное сообщество Opencart

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

В связи с блокировкой банка QIWI оплата через сайт не возможна.
Для оплаты и получения дополнений просьба писать в личные сообщения 
Admin*у
или в Телеграмм https://t.me/pascha_opencart
После оплаты Вам так же будет доступно скачивание дополнений и обновлений на данном форуме

Кнопка показать еще в категории Opencart

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

Опубликовано

В категории Opencart есть пагинация. С помощью нее мы переходим на следующие страницы в каталоге товаров. Но часто многим пагинация не нужна.

В категории Opencart есть пагинация. С помощью нее мы переходим на следующие страницы в каталоге товаров. Но часто многим пагинация не нужна, и всем известно что переход на следующие страницы порождает дубли категорий в опенкарте.

Есть альтернативный вариант показать пользователю больше товаров не переходя на постраничную навигацию. Этот способ мы назвем подгрузка товаров или же Кнопка показать больше или показать еще 20 товаров, где 20 - это лимит на страницу.

В чем преимущества?

Более быстрая подгрузка товаров, чем переходя на по страницам

Отсутствуют дубли категорий (если убрать пагинацию)

Покупатель не покидает товары с первой страницы, очень удобно если надо сравнить товары или вернуть к какому-то повторно. (Смотрите решение - продвинутое добавление в закладки)

Как видим преимуществ много. Итак для внедрения этого функционала надо открыть catalog/controller/product/category.php и найти строку

$product_total = $this->model_catalog_product->getFoundProducts(); или вместо getFoundProducts будет getTotalProduct();

после этой строки добавить

$this->data['ttl'] = $product_total;

Таким образом мы из контроллера передаем данные о количестве товара в категории.

Далее открываем шаблон категории catalog/view/theme/default/template/product/category.tpl и находим пагинацию. В каждом шаблоне по разному, но смотрите такой код <?php echo $pagination; ?> после, или перед этой строкой вставляем код кнопки подгрузки: (саму пагинацию можно убрать или уставить, как будет удобно)

<?php if($ttl > count($products)){ ?>
	<input type="hidden" value="<?php echo $this->config->get('config_catalog_limit') + count($products); ?>" name="limit" id="pagin_limit">
	<?php if(($ttl - count($products)) >= $this->config->get('config_catalog_limit')){ ?>
		<div class="category_load">Показать еще <?php echo $this->config->get('config_catalog_limit'); ?></div>
	<?php }else{ ?>
		<div class="category_load">Показать еще <?php echo $ttl-count($products); ?></div>
	<?php } ?>
	<script>
		$(".category_load").on("click", function(){
			product_div = '.products';
			lim = $("#pagin_limit").val();
			$("." + product_div).load('index.php?route=product/category&path=<?php echo $this->request->get['path']; ?>&limit=' + lim + ' ' + product_div + '>*', function(){
				$("#pagin_limit").val(lim);
			});
		});
	</script>
<?php } ?>

Где переменная product_div отвечает за блок в котором находятся товары.

Детально расписывать работу функции подгрузки не буду, но она очень простая. При клике на кнопку показать еще у нас идет обработчик с запуском функции загрузки страницы с лимитом как первая + вторая страница и т.п. Если Количество еще не подгруженых фото больше за лимит на странице - отображается в кнопке лимит на странице. Если меньше - в кнопке показывает реально количество товара, которое еще не подгрузилось. Это очень удобно. И на последней странице подгрузки кнопка не будет отображаться т.к. уже все подгружено на страницу и она не нужна.

Недостаток такого подхода в том что он не понимает сортировки товаров, лимиты и т.п. фильтрации в категории. Но основа есть и при желании расширить функционал это не составит труда.

  • 5 месяцев спустя...
Опубликовано
2 часа назад, Анатолий Петровский сказал:

подскажите как переделать вывод под опенкарт 3.0 на twig

https://weblenti.com/en/service/converter/phptotwig

Последние посетители 0

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

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.