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

Количество товаров определенной категории


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

воспользуйтесь данным плагином для smarty

 

http://forum.simplacms.ru/topic/8079-вывод-всех-товаров-категории-на-странице-товар/?p=60833

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

воспользуйтесь данным плагином для smarty

 

http://forum.simplacms.ru/topic/8079-вывод-всех-товаров-категории-на-странице-товар/?p=60833

 

далее получите товары как рекомендуемые.

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

 

 

{get_products visible=1 category_id=99 var="my_products"}
{foreach $my_products as $p}
   {$p->name}
{/foreach}

 

 

Мне не нужны их имена, а просто количество. К примеру 80 - 7 ID категории
Ссылка на сообщение
Поделиться на другие сайты

Мне не нужны их имена, а просто количество. К примеру 80 - 7 ID категории

 

пробуйте так

{get_products visible=1 category_id=7 var="my_products"}
количество: {$my_products|count}
Ссылка на сообщение
Поделиться на другие сайты

 

пробуйте так

{get_products visible=1 category_id=7 var="my_products"}
количество: {$my_products|count}

 

1. Довольно нерационально выбирать из базы ВСЕ товары категории, чтобы узнать их количество.

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

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

1. Довольно нерационально выбирать из базы ВСЕ товары категории, чтобы узнать их количество.

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

 

1. я показал как на базе того виджета который использует ТС вывести количество.

2. если имеются то что? человек попросил конкретной категории, а НЕ категории и ее подкатегорий.

Изменено пользователем mishanya
Ссылка на сообщение
Поделиться на другие сайты

2. если имеются то что? человек попросил конкретной категории, а НЕ категории и ее подкатегорий.

 

Формально Вы, конечно, полностью правы. Только ведь тот человек, применив Ваш способ, потом спросит, а почему у него на главной показывает количество одно, а на странице той категории - совсем другое....

Ссылка на сообщение
Поделиться на другие сайты
{api module="products" method="count_products" var="count" category_id=99 visible=1}
{$count}
если симпла >= 2.3.7 версии Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

 

{api module="products" method="count_products" var="count" category_id=99 visible=1}
{$count}
если симпла >= 2.3.7 версии

 

При таком способе нерациональность лишних вычислений уходит. Но правильность подсчета при наличии подкатегорий - под большим сомнением...

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

При таком способе нерациональность лишних вычислений уходит. Но правильность подсчета при наличии подкатегорий - под большим сомнением...

 

Во первых - ничего такого ТС не просил. У него простая задача:

 

 

Как вывести количество товаров определенной категории на главной странице?

 

во вторых - все зависит от переданных параметров в category_id. 

Можешь передать массив идов, а можешь получить нужную категорию и передать туда category->children
Ссылка на сообщение
Поделиться на другие сайты

Во первых - ничего такого ТС не просил. У него простая задача:

 

Как вывести количество товаров определенной категории на главной странице?

 

Даже эта "простая задача" не так проста.

 

Ибо "количество товаров определенной категории" - можно понимать по разному - включать или не включать категории.

Если подходить с точки зрения формальной, то Вы правы - как клиент сформулировал, так Вы ему и сделали.

 

А простой пользователь, не искушенный в программистских штучках, скорее всего, захочет при подсчете увидеть именно то число товаров, которое есть на странице категории. И когда он увидит, что рекомендованный подсчет дает только десяток или вообще 0,  в то время как на странице категории видна  сотня-другая товаров, то будет как минимум удивлен.  Будете ему доказывать, что Вы молодец и выполнили данную задачу буквально и абсолютно точно, а он эту задачу неверно поставил?

 

 

Можешь передать массив идов, а можешь получить нужную категорию и передать туда category->children

 

"Можешь передать массив идов" - думаю, сами понимаете, насколько это примитивно, некрасиво и непрактично.

"передать туда category->children" - это идея сама по себе хорошая. Но реализовать ее в шаблоне - добавочные трудности...

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

"Можешь передать массив идов" - думаю, сами понимаете, насколько это примитивно, некрасиво и непрактично.

"передать туда category->children" - это идея сама по себе хорошая. Но реализовать ее в шаблоне - добавочные трудности...

 

Корс - ты ничему не учишься. Как был занозой в - так и остался...

 

Добавь в IndexView:

$this->design->assign('all_categories', $this->categories->get_categories());

и в шаблоне 

... category_id=$all_categories[99]->child ....

ты не мог написать этого? не знал? или тебе просто в кайф кому то надоедать?  

Как та бабка у подъезда!

 

Вместо 1 строки кода - петиции пишешь!

нельзя просто написать: так будет лучше и код ?

 

 

 

Очередной аккаунт Корса

 

а он к тебе не равнодушен)) уже новый ник - почти как у тебя))

Изменено пользователем yr4ik
Ссылка на сообщение
Поделиться на другие сайты

 

Добавь в IndexView:

$this->design->assign('all_categories', $this->categories->get_categories());
и в шаблоне 
... category_id=$all_categories[99]->child ....

 

Так оно работает, но снова возникает вопрос о рациональности - чтобы получить список дочерних категорий ОДНОЙ категории, Ваш метод передает в шаблон ВСЕ сведения о ВСЕХ категориях.

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

Так оно работает, но снова возникает вопрос о рациональности - чтобы получить список дочерних категорий ОДНОЙ категории, Ваш метод передает в шаблон ВСЕ сведения о ВСЕХ категориях.

Какой же ты дебил, форум просто смеется над тобой!

На тебе готовое решение коль сам придумать не сумел:

{api module=products method=get_products visible=1 category_id=1 limit=5 var=korsmudak}
{$korsmudak|count}
Подходит для симплы версии 2.3.7 и выше. Изменено пользователем Noxter
Ссылка на сообщение
Поделиться на другие сайты

 

Какой же ты дебил, форум просто смеется над тобой!

На тебе готовое решение коль сам придумать не сумел:

{api module=products method=get_products visible=1 category_id=1 limit=5 var=korsmudak}
{$korsmudak|count}
Подходит для симплы версии 2.3.7 и выше.

 

Спасибо за содержательный пост почти без флуда.

 

Жаль только, что Ваше решение хуже всех прочих, предлагавшихся в теме - оно и нерациональное, и ошибочное. К тому же мало чем отличается от решения mishanya из #7 - поэтому, кроме недостатков решения mishanya, имеет дополнительно свой собственный авторский недостаток (далее п.3).

 

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

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

3. Ошибка детская - подсчитанное количество будет ВСЕГДА от 0 до 5, так как автор решения счел нужным выставить limit=5.

 

Если ошибку 3 поправить легко и просто, то с остальными, как показывает обсуждение в теме, все существенно сложнее - уже ТРИ фрилансера - спеца по Simpla предлагали разные решения, а сколько-нибудь приемлемого пока не видно...

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

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

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

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

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

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

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

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

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

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