Jump to content

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


Recommended Posts

  • 3 weeks later...

Я эту проблему решил немного по-другому:
Файл апи/категориес.пхп у меня 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})

Link to post
Share on other sites
  • 1 month later...
  • 2 weeks later...
  • 1 month later...

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

Link to post
Share on other sites
  • 1 month later...

Вставьте это ({$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)-->
Link to post
Share on other sites

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

$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');
Link to post
Share on other sites
SELECT category_id, COUNT( product_id )
FROM s_products_categories
GROUP BY category_id
Куда это вставлять? Приведите пример с частью кода.


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

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

а что он делает? =) если не подсчитывает кол. записей в базе, что выводит кол-во товаров в указанной категории.
Link to post
Share on other sites

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

Link to post
Share on other sites

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

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...