Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Вывод Новых товаров (Последних поступлений) с пагинацией


Recommended Posts

Добрый день!

Создана стр. для вывода Новых товаров (Последних поступлений). Создан отдельный макет стр. Товары выводятся модулем «Новые поступления».

Подскажите, пожалуйста, как сделать пагинацию для такой страницы? Необходимо вывести 180 новых товаров. Но, такая страница получается очень большой. Хотелось бы разбить ее, например, на 6 страниц по 30 товаров на каждой. Как это сделать? Или есть какое-то другое решение для такой задачи? Например, другой готовый модуль?

Магазин на OpenCart Version 3.0.2.0 (rs.3)

Надіслати
Поділитися на інших сайтах


13 часов назад, Alexanderbernat сказал:

Подскажите, пожалуйста, как сделать пагинацию для такой страницы?

делайте по примеру опенкарта, посмотрите конроллеры, или вы хотели за здраво живешь чтоб вам сразу дали готовое решение или сделали все за вас???

вы ж даже ничем не пошевелили раз спрашиваете как сделать пагинацию

 

вот вам пример  функции для пагинации

 

$num_links - это кол-во навигационых кнопок в пагинации

$total_rows - здесь нужно общее кол-во товаров в запросе COUNT

function setPagenation( $total_rows, $num_links = 3 ) {
	
	if( !isset($_GET['page']) || empty($_GET['page']) ) {
		$page = 1;
	} else {
		$page = (int)$_GET['page'];
	}
	
	
	$limit   = 30; //выводим 30 товаров на странице
	
	$links = 'ваш-сайт.ru/страница может'; //здесь ссылка на вашу страницу
	
	$total = $total_rows;
	
	
	if( empty($page) || $page < 0 ) {
		$page = 1; 
	}
	
	$num_pages = ceil($total / $limit);
	
	$output = '<nav class="navigation pagination" role="navigation" aria-label="Записи">';
	
	$output .= '<div class="nav-links">';
	
	if( $page > 1 ) {
		//$output .= '<a class="prev page-numbers" href="' . $links . '">Первая</a>';
		
		//след. назад
		if( $page - 1 === 1 ) {
			$output .= '<a class="prev page-numbers" href="' . $links . '"><i class="sfa icn-left-open-big"></i></a>';
		} else {
			$output .= '<a class="prev page-numbers" href="' . $links . '?page=' . ($page - 1) . '/"><i class="sfa icn-left-open-big"></i></a>';
		}
	}
	
	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 .= '<span aria-current="page" class="page-numbers current">' . $i . '</span>';
			} else {
				if( $i == 1 ) {
					$output .= '<a class="page-numbers" href="' . $links . '">' . $i . '</a>';
				} else {
					$output .= '<a class="page-numbers" href="' . $links . '?page=' . $i . '/">' . $i . '</a>';
				}
			}
		}
	}
	
	if( $page < $num_pages ) {
		//следующ вперед
		$output .= '<a class="next page-numbers" href="' . $links . '?page=' . ($page + 1) . '/"><i class="sfa icn-right-open-big"></i></a>';
			
		//послед
		//$output .= '<a class="next page-numbers" href="' . $links . '?page=' . $num_pages . '/">Последняя</a>';
	}
	
	$output .= '</div>';
	$output .= '</nav>'; 
	
	if( $total <= $limit ) {
		$output = '';
	}
	
	return $output;
}

 

Еще, если у вас ссылка на страницу примерно такого вида index.php?route=product/category&path=57 

то ?page= нужно заменить на &page=

Надіслати
Поділитися на інших сайтах

6 часов назад, Venter сказал:

делайте по примеру опенкарта, посмотрите конроллеры

Добрый день!

В силу того, что я не программист (у меня совсем другая профессия), я, к величайшему сожалению, не знаю многих тонкостей работы с Опенкарт. Я могу поставить и настроить модули, что-то там поправить в коде, но, если мне объяснят, что и где надо сделать.

Огромное спасибо за пример кода! В принципе, все понятно, что там нужно изменить. Но, куда этот кусок кода вставить, я не знаю. Подскажите, пожалуйста. Это надо создать пользовательский контроллер или отредактировать имеющийся? Тогда вопрос, какой именно? И в каком именно месте нужно разместить этот код?

Надіслати
Поділитися на інших сайтах


В опенкарт "Новинки" , весьма относительное значение. По сути это все товары магазина, начиная от тех которые вы добавили последними, до товара который вы добавили в ваш магазин первым.

Поэтому смысла особо лезть в код нет.

Создайте категорию, назовите Новинки, присвойте чпу latest, а там уже от вашего упорства зависит, добавите ли вы все товары в нее или выборочно, реально самые новые.

Надіслати
Поділитися на інших сайтах

8 минут назад, Tom сказал:

Создайте категорию, назовите Новинки, присвойте чпу latest, а там уже от вашего упорства зависит, добавите ли вы все товары в нее или выборочно, реально самые новые.

Мне тоже приходило в голову такое решение. Но, это будут не новые товары, а, как бы, ВСЕ товары. И, тем более, добавлять это все вручную. Наверное, все-таки, это не мой вариант.

Надіслати
Поділитися на інших сайтах


12 минут назад, Tom сказал:

Новинки и есть ВСЕ товары, по мере наполнения магазина. 

 

Огромное спасибо за ссылку!!! Но, автор больше не поддерживает модуль. А если начнутся траблы, боюсь, не смогу их сам решить, потому что у меня не базовый шаблон.

Надіслати
Поділитися на інших сайтах


12 часов назад, Alexanderbernat сказал:

Огромное спасибо за ссылку!!! Но, автор больше не поддерживает модуль. А если начнутся траблы, боюсь, не смогу их сам решить, потому что у меня не базовый шаблон.

http://oc302.appdevstudio.ru/index.php?route=product/newest

новинки с пагинацией, выводом категорий и настраиваемым периодом, за который товар считается новинкой.

Такая же страница есть и для хитов продаж + добавление категорий в стандартную страницу акций

  • +1 1
Надіслати
Поділитися на інших сайтах

15 часов назад, Alexanderbernat сказал:

Огромное спасибо за ссылку!!! Но, автор больше не поддерживает модуль. А если начнутся траблы, боюсь, не смогу их сам решить, потому что у меня не базовый шаблон.

 

вам выше написал готовое решение для пагинации, только свои значения вставить и вывести пагинацию в шаблон.

Так же можно скопировать родную пагинацию и вставить свои значения.

Если у вас проблемы с кодом то скорее всего вам не спрашивать надо как решить, а искать по этому поводу исполнителя

В 29.07.2021 в 04:35, Alexanderbernat сказал:

Подскажите, пожалуйста, как сделать пагинацию для такой страницы?

Вы просили - вам выложили решение.

Надіслати
Поділитися на інших сайтах

5 часов назад, Blast сказал:

http://oc302.appdevstudio.ru/index.php?route=product/newest

новинки с пагинацией, выводом категорий и настраиваемым периодом, за который товар считается новинкой.

Такая же страница есть и для хитов продаж + добавление категорий в стандартную страницу акций

Мега, мега спасибо за ссылку!!! Выглядит отлично!!! Это практически то, что я и хотел. Я сейчас попробую, рискну, поставить этот модуль. Надеюсь, «бока» не вылезут! Еще раз огромное спасибо за помощь!!!

 

P.S. Я же все верно понял, это тот модуль, ссылку на который прислал Tom ?

 

Змінено користувачем Alexanderbernat
Надіслати
Поділитися на інших сайтах


2 часа назад, Venter сказал:

вам выше написал готовое решение для пагинации, только свои значения вставить и вывести пагинацию в шаблон.

Так же можно скопировать родную пагинацию и вставить свои значения.

Если у вас проблемы с кодом то скорее всего вам не спрашивать надо как решить, а искать по этому поводу исполнителя

Я Вам выше написал, что очень благодарен за код!!! Просто я не понял, куда, в какой файл его вставлять. Я вовсе не против исполнителя, тем более что программистом становиться не пытаюсь. Но, некоторые вещи, в опенкарт в частности, нужно пытаться решать самому. Потому что, если не пойму азы, дальше будет еще сложнее. Это как в первом классе, просил бы соседа по парте рисовать за меня палочки и крючочки в тетрадке в линеечку, до сих пор не научился бы писать.

Надіслати
Поділитися на інших сайтах


2 часа назад, Alexanderbernat сказал:

Мега, мега спасибо за ссылку!!! Выглядит отлично!!! Это практически то, что я и хотел. Я сейчас попробую, рискну, поставить этот модуль. Надеюсь, «бока» не вылезут! Еще раз огромное спасибо за помощь!!!

 

P.S. Я же все верно понял, это тот модуль, ссылку на который прислал Tom ?

 

нет, это мой модуль, который готовится к продаже. Если есть какие-то пожелания? то могу еще перед релизом что-то доделать.

настройки в админке https://oc302.appdevstudio.ru/admin

demo / demo

рабочая неделя заканчивается, если что в понедельник буду на связи

Надіслати
Поділитися на інших сайтах

В 30.07.2021 в 19:52, Blast сказал:

нет, это мой модуль, который готовится к продаже. Если есть какие-то пожелания? то могу еще перед релизом что-то доделать.

настройки в админке https://oc302.appdevstudio.ru/admin

demo / demo

рабочая неделя заканчивается, если что в понедельник буду на связи


Здравствуйте.

 

Посмотрел админку. Есть несколько предложений, о том, как было бы удобней работать с этим модулем (на мой субъективный взгляд).

 

1. В разделе «Модули / Расширения» должна быть возможность дублирования модуля, как в стандартном модуле Новинки. Это необходимо для того, чтобы иметь возможность создавать фильтр с разными настройками для разных макетов страниц. Допустим, для главной стр. мне необходимо выводить 10 новинок. А на стр. Новинки 180.

 

2. В самом модуле необходимо сделать выпадающее меню, в котором должны быть пункты: Новинки, Акции, Топ и тд. Это необходимо, чтобы разделить типы фильтрации. Сейчас там и Новинки и Хиты вместе. Лично для меня это неудобно. И, я так и не понял, как найти на стр. Демо магазина Хиты. Или там, и Новинки, и Хиты вперемешку? Тогда, по демо контенту непонятно, как они сортируются между собой. Или там, все-таки, только Новинки? В общем, в любом случае, эти пункты должны быть разделены, как и настройки для них.
(Еще, как дополнение, можно добавить галочки или кнопки, чтобы была возможность комбинировать несколько пунктов. Может это кому-то понадобиться в работе с магазином.)

 

3. Нужно включить в модуль настройку количества товаров, которые считаются новинками. Это необходимо, если за короткий период времени добавляется очень много товаров. Если оставить только настройку по дате, в новинках может оказаться и 1000, и даже больше позиций. С другой стороны, если в магазин товары добавляются редко, то в Новинках может вовсе не оказаться товаров. И этот инструмент сыграет в минус, с точки зрения маркетинга. Владелец магазина должен сам иметь возможность выбирать и регулировать какие настройки ставить. И лучше, если их можно было бы комбинировать.

 

4. По поводу пагинации. Настройки берутся из магазина, то есть 30 товаров на стр.? А можно было бы для этих страниц включить индивидуальные настройки? Указывать количество товаров на страницу.

 

Думаю, можно было бы еще придумать улучшения. Но, на данный момент, это все, что пришло в голову.
Может еще кто-то что-то предложит.

 

Еще вопрос, какова предполагаемая стоимость Вашего модуля?

 

 

Надіслати
Поділитися на інших сайтах


В 02.08.2021 в 02:42, Alexanderbernat сказал:


Здравствуйте.

 

Посмотрел админку. Есть несколько предложений, о том, как было бы удобней работать с этим модулем (на мой субъективный взгляд).

 

1. В разделе «Модули / Расширения» должна быть возможность дублирования модуля, как в стандартном модуле Новинки. Это необходимо для того, чтобы иметь возможность создавать фильтр с разными настройками для разных макетов страниц. Допустим, для главной стр. мне необходимо выводить 10 новинок. А на стр. Новинки 180.

 

2. В самом модуле необходимо сделать выпадающее меню, в котором должны быть пункты: Новинки, Акции, Топ и тд. Это необходимо, чтобы разделить типы фильтрации. Сейчас там и Новинки и Хиты вместе. Лично для меня это неудобно. И, я так и не понял, как найти на стр. Демо магазина Хиты. Или там, и Новинки, и Хиты вперемешку? Тогда, по демо контенту непонятно, как они сортируются между собой. Или там, все-таки, только Новинки? В общем, в любом случае, эти пункты должны быть разделены, как и настройки для них.
(Еще, как дополнение, можно добавить галочки или кнопки, чтобы была возможность комбинировать несколько пунктов. Может это кому-то понадобиться в работе с магазином.)

 

3. Нужно включить в модуль настройку количества товаров, которые считаются новинками. Это необходимо, если за короткий период времени добавляется очень много товаров. Если оставить только настройку по дате, в новинках может оказаться и 1000, и даже больше позиций. С другой стороны, если в магазин товары добавляются редко, то в Новинках может вовсе не оказаться товаров. И этот инструмент сыграет в минус, с точки зрения маркетинга. Владелец магазина должен сам иметь возможность выбирать и регулировать какие настройки ставить. И лучше, если их можно было бы комбинировать.

 

4. По поводу пагинации. Настройки берутся из магазина, то есть 30 товаров на стр.? А можно было бы для этих страниц включить индивидуальные настройки? Указывать количество товаров на страницу.

 

Думаю, можно было бы еще придумать улучшения. Но, на данный момент, это все, что пришло в голову.
Может еще кто-то что-то предложит.

 

Еще вопрос, какова предполагаемая стоимость Вашего модуля?

 

 

 

Добрый день

1. этот модуль не предполагает встраивание на какие-то страницы. Он создает свои отдельные страницы для Новинок и Хитов и модифицирует стандартные акции, добавляя туда пагинацию и список категорий, в которых есть соответствующие товары.

Хиты - http://oc302.appdevstudio.ru/index.php?route=product/bestseller

Акции - http://oc302.appdevstudio.ru/index.php?route=product/special

2-4. принял, доработаю

 

цену планирую по минималке - 750 руб. в первое время будет со скидкой процентов 20

Надіслати
Поділитися на інших сайтах

В 03.08.2021 в 16:45, Blast сказал:

2-4. принял, доработаю

Добрый день!
Дополнение №5, в случае, если оно не присутствует по умолчанию. Есть ли возможность разместить на этих страницах текст? Если нет, это очень необходимо сделать! Полезно для СЕО и, соответственно, для продвижения. Только, желательно, чтобы была возможность выбора, размещать его вверху, или внизу, под товарами.

 

И еще, можно ли заменить УРЛ стр. на более красивые? У меня сейчас https://имя сайта/new-products

Змінено користувачем Alexanderbernat
Надіслати
Поділитися на інших сайтах


3 часа назад, Alexanderbernat сказал:

Добрый день!
Дополнение №5, в случае, если оно не присутствует по умолчанию. Есть ли возможность разместить на этих страницах текст? Если нет, это очень необходимо сделать! Полезно для СЕО и, соответственно, для продвижения. Только, желательно, чтобы была возможность выбора, размещать его вверху, или внизу, под товарами.

 

И еще, можно ли заменить УРЛ стр. на более красивые? У меня сейчас https://имя сайта/new-products

текст можно разместить стандартным модулем Блок-HTML через Дизайн / Макеты

SEO URL подхватывается

адреса страниц изменены на

http://oc302.appdevstudio.ru/index.php?route=extension/module/special

http://oc302.appdevstudio.ru/index.php?route=extension/module/newest

http://oc302.appdevstudio.ru/index.php?route=extension/module/bestseller

 

на последних двух SEO URL работает и задается также через стандартные возможности Дизайн / SEO URL

 

Надіслати
Поділитися на інших сайтах

В 29.07.2021 в 01:35, Alexanderbernat сказал:

Добрый день!

 

Создана стр. для вывода Новых товаров (Последних поступлений). Создан отдельный макет стр. Товары выводятся модулем «Новые поступления».

 

Подскажите, пожалуйста, как сделать пагинацию для такой страницы? Необходимо вывести 180 новых товаров. Но, такая страница получается очень большой. Хотелось бы разбить ее, например, на 6 страниц по 30 товаров на каждой. Как это сделать? Или есть какое-то другое решение для такой задачи? Например, другой готовый модуль?

 

Магазин на OpenCart Version 3.0.2.0 (rs.3)

 

этом модуле есть такой функционал 

 

Надіслати
Поділитися на інших сайтах

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.