Перейти к содержанию
Официальный форум поддержки Simpla

Вывод количество товаров в меню категорий


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

Как показать количество товаров в меню категорий, рядом с названием категории?

Например:

-Бытовая техника (4)
|-Холодильники (3)
|-Утюги (1)

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

Я эту проблему решил немного по-другому:
Файл апи/категориес.пхп у меня 204 строка
После кода
if(isset($pointers[$pointers[$id]->parent_id]->children))
$pointers[$pointers[$id]->parent_id]->children = array_merge($pointers[$id]->children, $pointers[$pointers[$id]->parent_id]->children);
else
$pointers[$pointers[$id]->parent_id]->children = $pointers[$id]->children;
Я добавил строку:
$pointers[$id]->count = $this->products->count_products(array('category_id'=>$pointers[$id]->children,'visible'=>1));
Ну и вывод в шаблоне в меню:
id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}  ({$c->count})

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

Этот вариант НЕ проверен на нагрузку на сервер и т.д. Он просто работает, использование на ваше усмотрение))

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...
  • 2 недели спустя...
  • 1 месяц спустя...

Ну напиши квалифицированное, кто тебе мешает...
Я сразу написал, что решение хреновое, но почему-то никто за 4 месяца лучшего не предложил)) А комментарии типа я могу лучше нафиг никому не нужны.

Ссылка на сообщение
Поделиться на другие сайты
  • 1 месяц спустя...

Вставьте это ({$c->count}) в файл index.tpl после {$c->name} должно выйти так:

<!-- Меню каталога -->			<div id="catalog_menu">								{* Рекурсивная функция вывода дерева категорий *}			{function name=categories_tree}			{if $categories}			<ul>			{foreach $categories as $c}				{* Показываем только видимые категории *}				{if $c->visible}					<li>						{if $c->image}<img src="{$config->categories_images_dir}{$c->image}" alt="{$c->name}">{/if}						<a {if $category->id == $c->id}class="selected"{/if} href="catalog/{$c->url}" data-category="{$c->id}">{$c->name}</a>({$c->count})						{categories_tree categories=$c->subcategories}					</li>				{/if}			{/foreach}			</ul>			{/if}			{/function}			{categories_tree categories=$categories}			</div>			<!-- Меню каталога (The End)-->
Ссылка на сообщение
Поделиться на другие сайты

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

$sql = mysql_query("SELECT `category_id` FROM `s_products_categories` ORDER BY `category_id`"); $count = mysql_result($sql, 0); $smarty -> assign('count', $count); $smarty -> display('Куда выводим tpl');
Ссылка на сообщение
Поделиться на другие сайты
SELECT category_id, COUNT( product_id )
FROM s_products_categories
GROUP BY category_id
Куда это вставлять? Приведите пример с частью кода.


Вот пример кода.

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

а что он делает? =) если не подсчитывает кол. записей в базе, что выводит кол-во товаров в указанной категории.
Ссылка на сообщение
Поделиться на другие сайты

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

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

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

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

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...