Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

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


Recommended Posts

Добрый гдень!

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

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

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

Link to comment
Share on other sites


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=

Link to comment
Share on other sites

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

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

Добрый гдень!

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

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

Link to comment
Share on other sites


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

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

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

Link to comment
Share on other sites

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

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

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

Link to comment
Share on other sites


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

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

 

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

Link to comment
Share on other sites


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

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

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

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

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

  • +1 1
Link to comment
Share on other sites

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

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

 

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

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

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

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

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

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

Link to comment
Share on other sites

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

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

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

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

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

 

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

 

Edited by Alexanderbernat
Link to comment
Share on other sites


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

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

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

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

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

Link to comment
Share on other sites


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

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

 

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

 

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

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

demo / demo

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

Link to comment
Share on other sites

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

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

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

demo / demo

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


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

 

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

 

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

 

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

 

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

 

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

 

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

 

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

 

 

Link to comment
Share on other sites


В 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

Link to comment
Share on other sites

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

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

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

 

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

Edited by Alexanderbernat
Link to comment
Share on other sites


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

 

Link to comment
Share on other sites

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

Добрый гдень!

 

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

 

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

 

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

 

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

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.