Перейти к содержанию
Toxa

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

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

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

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

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо большое за ответ! Я то понимаю, что там надо смотреть, только я в 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>';
}
}
?>

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Уважаемые форумчане, пытаюсь добавить в файл /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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Бинго! Всё работает. Огромное вам спасибо! :-)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

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

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.