Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Как вывести цифру количества товаров в категории - "Найдено ХХ товаров"


Recommended Posts

Уважаемые форумчане, пытаюсь добавить в файл /catalog/view/theme/default/template/product/category.tpl текст "Найдено ХХ товаров", чтобы выводить его рядом с сортировкой товаров.

Общее количество товаров категории есть тут:

<div class="pagination"><?php echo $pagination; ?></div>

Результат $pagination - "Показано товаров с 1 по 10 из 10 (всего 1 страниц)"

Как оттуда "выдрать" только общее количество товаров в категории (в примере выше - 10) ?

Заранее спасибо за помощь! :)

Link to comment
Share on other sites


это про страницы, про кол-во товаров другое

Это понятно, что про страницы :) Просто там это число товаров уже как-то формируется -> "Показано товаров с 1 по 10 из 10"

Мне нужно эту десятку вывести на странице категории текстом "Найдено 10 товаров"

Link to comment
Share on other sites


Это понятно, что про страницы :) Просто там это число товаров уже как-то формируется -> "Показано товаров с 1 по 10 из 10"

Мне нужно эту десятку вывести на странице категории текстом "Найдено 10 товаров"

это тебе нужно в контролере смотреть, вытащить переменную которая отвечает за твою десятку, и потом еще в шаблоне вывести в нужном месте

смотри в внизу этого файла /system/library/pagination.php

Link to comment
Share on other sites


Спасибо большое за ответ! Я то понимаю, что там надо смотреть, только я в php понимаю на интуитивном уровне, к сожалению.

Вот код pagination.php:

<?php
final class Pagination {
public $total = 0;
public $page = 1;
public $limit = 20;
public $num_links = 10;
public $url = '';
public $text = 'Showing {start} to {end} of {total} ({pages} Pages)';
public $text_first = '|<';
public $text_last = '>|';
public $text_next = '>';
public $text_prev = '<';
public $style_links = 'links';
public $style_results = 'results';

public function render() {
 $total = $this->total;

 if ($this->page < 1) {
  $page = 1;
 } else {
  $page = $this->page;
 }

 if (!$this->limit) {
  $limit = 10;
 } else {
  $limit = $this->limit;
 }

 $num_links = $this->num_links;
 $num_pages = ceil($total / $limit);

 $output = '';

 if ($page > 1) {
  $output .= ' <a href="' . str_replace('{page}', 1, $this->url) . '">' . $this->text_first . '</a> <a href="' . str_replace('{page}', $page - 1, $this->url) . '">' . $this->text_prev . '</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;
}
  }
  if ($start > 1) {
$output .= ' .... ';
  }
  for ($i = $start; $i <= $end; $i++) {
if ($page == $i) {
 $output .= ' <b>' . $i . '</b> ';
} else {
 $output .= ' <a href="' . str_replace('{page}', $i, $this->url) . '">' . $i . '</a> ';
}
  }

  if ($end < $num_pages) {
$output .= ' .... ';
  }
 }

 if ($page < $num_pages) {
  $output .= ' <a href="' . str_replace('{page}', $page + 1, $this->url) . '">' . $this->text_next . '</a> <a href="' . str_replace('{page}', $num_pages, $this->url) . '">' . $this->text_last . '</a> ';
 }

 $find = array(
  '{start}',
  '{end}',
  '{total}',
  '{pages}'
 );

 $replace = array(
  ($total) ? (($page - 1) * $limit) + 1 : 0,
  ((($page - 1) * $limit) > ($total - $limit)) ? $total : ((($page - 1) * $limit) + $limit),
  $total,
  $num_pages
 );

 return ($output ? '<div class="' . $this->style_links . '">' . $output . '</div>' : '') . '<div class="' . $this->style_results . '">' . str_replace($find, $replace, $this->text) . '</div>';
}
}
?>

Но какая переменная содержит эту десятку - запутался в конструкциях ((

Link to comment
Share on other sites


Уважаемые форумчане, пытаюсь добавить в файл /catalog/view/theme/default/template/product/category.tpl текст "Найдено ХХ товаров", чтобы выводить его рядом с сортировкой товаров.

Общее количество товаров категории есть тут:

<div class="pagination"><?php echo $pagination; ?></div>

Результат $pagination - "Показано товаров с 1 по 10 из 10 (всего 1 страниц)"

Как оттуда "выдрать" только общее количество товаров в категории (в примере выше - 10) ?

Заранее спасибо за помощь! :)

в файле catalog/controller/product/category.php после строки

$this->data['limit'] = $limit;

вставляешь строку

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

в файле catalog/view/theme/default/template/product/category.tpl в нужное место вставляешь строку

Найдено <?php echo $product_total; ?> товаров

  • +1 1
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

×
×
  • 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.